Given a sorted integer array without duplicates, return the summary of its ranges.

For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"].

我的代码,结果Accepted,507ms:

 public class Solution
{
public IList<string> SummaryRanges(int[] nums)
{
int start = , end = ;//设定输出格式中的开始值和结束值
string str = "";
List<string> mList = new List<string>();//实例化一个List对象
if (nums.Length != )//如果数组长度不为0,也就是数组不为空
{
start = nums[];//设置开始值的初值
end = nums[];//设置结束值的初值
for (int i = ; i < nums.Length; i++)
{
if (i == nums.Length - )//如果是最后一次循环
{
if (start != end)//当开始值和结束值不相等的时候
{
str = start + "->" + end;
mList.Add(str);//在list列表中加入str
}
else
{
mList.Add(start.ToString());//直接将开始值加入list
}
}
else//如果不是最后一次循环
{
if (nums[i] + == nums[i + ])//如果相邻两个数相差为1
{
end = nums[i + ];//将nums[i+1]赋值给结束值
}
else//如果两个数不是相邻的整数
{
if (start != end)//当开始值和结束值不相等的时候
{
str = start + "->" + end;
mList.Add(str);
end = nums[i + ];
start = nums[i + ];
}
else//当开始值和结束值相等的时候
{
mList.Add(start.ToString());
end = nums[i + ];
start = nums[i + ];
}
}
}
}
}
return mList;
}
}

在discuss中看到了一个代码结果Accepted,512ms

public class Solution
{
public IList<string> SummaryRanges(int[] nums)
{
List<string> list =new List<string>();
for(int i=;i<nums.Length;i++)
{
int a=nums[i];
while(i+<nums.Length&&nums[i]+==nums[i+])
i++;
if(a==nums[i])
list.Add(a.ToString());
else
list.Add(a+"->"+nums[i]);
}
return list;
}
}

其中Ilist<string>可以理解为一个只能存放string类型的Arraylist.

总结,这是我在leetcode上做的第一道题,虽然很简单,但是按照我这个渣渣水平依然想了1个半小时,其中出现了n多bug,不过最终终于有了一个Accept的版本,虽然这个版本写的很罗嗦,废话很多,远远没有别人写的精炼,但是我要向着更加精炼的算法代码前进,向前人学习!

C#解leetcode 228. Summary Ranges Easy的更多相关文章

  1. [LeetCode] 228. Summary Ranges 总结区间

    Given a sorted integer array without duplicates, return the summary of its ranges. Example 1: Input: ...

  2. (easy)LeetCode 228.Summary Ranges

    Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...

  3. LeetCode 228. Summary Ranges (总结区间)

    Given a sorted integer array without duplicates, return the summary of its ranges. Example 1: Input: ...

  4. Java for LeetCode 228 Summary Ranges

    Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...

  5. LeetCode(228) Summary Ranges

    Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...

  6. Java [Leetcode 228]Summary Ranges

    题目描述: Given a sorted integer array without duplicates, return the summary of its ranges. For example ...

  7. [leetcode]228. Summary Ranges区间统计

    Given a sorted integer array without duplicates, return the summary of its ranges. Example 1: Input: ...

  8. 【LeetCode】228. Summary Ranges 解题报告(Python)

    [LeetCode]228. Summary Ranges 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/sum ...

  9. leetcode-【中等题】228. Summary Ranges

    题目: 228. Summary Ranges Given a sorted integer array without duplicates, return the summary of its r ...

随机推荐

  1. 那些年被我坑过的Python——山外有山(第四章)

    装饰器: 定义: 本质是函数,(装饰其他函数)就是为其他函数添加附加功能原则: 1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 优点: 装饰器带来的最直观的好处:减少对函数的细化 ...

  2. Python学习 - 编写一个简单的web框架(一)

    自己动手写一个web框架,因为我是菜鸟,对于python的一些内建函数不是清楚,所以在写这篇文章之前需要一些python和WSGI的预备知识,这是一系列文章.这一篇只实现了如何处理url. 参考这篇文 ...

  3. js的引用顺序

    注意:Bootstrap中的JS插件依赖于JQuery,因此JQuery要在Bootstrap之前引用!!! 把JS文件引用放入body的最下面,是为了使js在网页全部加载完后才起作用,比如你的js里 ...

  4. hibernate spring sturts2配置

    <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...

  5. Groovy学起来,这要和GRAILS,RUNDECK打成一片

    还好,以前看过RUBY和JAVA,GROOVY感觉和它们有点相似.. 并且,我觉得这个GROOVY比SCALA要简单些(函数式编程+OBJ) 作类比,毕竟是最快的学习方法. XXX,还有必修课和证券从 ...

  6. poj 2432 Around the world bfs+哈希

    由于每个点的状态包含走过来的距离,所以要存二维的状态,但是状态总量太多,所以可以用哈希来搞. 那么就是bfs最短路,哈希记录状态了. #include <iostream> #includ ...

  7. phpMyAdmin <= 4.0.4.1 import.php GLOBALS变量注入漏洞

    漏洞版本: phpMyAdmin <= 4.0.4.1 漏洞描述: CVE(CAN) ID: CVE-2013-4729 phpmyadmin是MySQL数据库的在线管理工具,主要功能包括在线创 ...

  8. 互联网组织的未来:剖析GitHub员工的任性之源

    转自:http://www.php100.com/html/it/hulianwang/2015/0108/8304.html [导读] 本文为大家介绍了著名代码托管服务商GitHub的组织运转结构. ...

  9. Velocity常用方法

    1.字符串替换 replace#if($!{name} != '')#set($tempName = $!{name})#set($tempName = $tempName.Replace('abc' ...

  10. A Mini Locomotive(动态规划 01)

     /*  题意:选出3个连续的 数的个数  为K的区间,使他们的和最大 分析: dp[j][i]=max(dp[j-k][i-1]+value[j],dp[j-1][i]);   dp[j][i]:从 ...