C#解leetcode 228. Summary Ranges Easy
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的更多相关文章
- [LeetCode] 228. Summary Ranges 总结区间
Given a sorted integer array without duplicates, return the summary of its ranges. Example 1: Input: ...
- (easy)LeetCode 228.Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...
- LeetCode 228. Summary Ranges (总结区间)
Given a sorted integer array without duplicates, return the summary of its ranges. Example 1: Input: ...
- Java for LeetCode 228 Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...
- LeetCode(228) Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...
- Java [Leetcode 228]Summary Ranges
题目描述: Given a sorted integer array without duplicates, return the summary of its ranges. For example ...
- [leetcode]228. Summary Ranges区间统计
Given a sorted integer array without duplicates, return the summary of its ranges. Example 1: Input: ...
- 【LeetCode】228. Summary Ranges 解题报告(Python)
[LeetCode]228. Summary Ranges 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/sum ...
- leetcode-【中等题】228. Summary Ranges
题目: 228. Summary Ranges Given a sorted integer array without duplicates, return the summary of its r ...
随机推荐
- python类class基础
44.class类: 一.类定义的一般形式: 1.简单的形式:实例化对象没有自己独有 ...
- SharePoint 2013 如何使用TaxonomyWebTaggingControl 控件
在该文章中,我将介绍如何使用TaxonomyWebTaggingControl控件, 首先我相信您已经在SharePoint Managed Metadata Service里定义Term Sets, ...
- 香港house of hello品牌包包是怎样被模仿呢?
今天,作为女性的朋友来说,house of hello包包可能对大家都不会陌生吧,特别是一些白领阶层的女性同胞们,这个品牌比较熟悉,现在,也有网友称,这个是恶搞包包.house of hello包包原 ...
- WPF感悟(1)
原文地址:http://liutiemeng.blog.51cto.com/120361/91632 1.UI层与逻辑层要尽可能地剥离(解耦). 2.Routed Event和Command比Even ...
- unity NGUI点击消息不传入到场景中去
unity NGUI点击消息不传入到场景中去 1.今天遇到的问题是点击NGUI的按钮,场景中也相应了这个消息 解决的办法是在场景中需要互动的时候,也就是在update中进行判断 是否是点击了NGUI按 ...
- 设置Tomcat默认界面
修改配置文件: 首先,修改$tomcat/conf/server.xml文件. 在server.xml文件中,有一段如下: …… <engine ...
- 用 SQL 脚本读取Excel 中的sheet数量及名称
-- Get table (worksheet) or column (field) listings from an excel spreadsheet -- 设置变量 declare @linke ...
- Qt入门(14)——父窗口部件和子窗口部件
这个例子演示了如何创建一个父窗口部件和子窗口部件.我们下面使用一个单一的父窗口部件和一个独立的子窗口部件编写界面. #include <qvbox.h>我们添加了一个头文件qvbox ...
- Android 开机自启动
首先实现开机自启动: 第一步创建一个广播接收者,如MyBootBroadcastReceiver.java package com.example; import android.content.Br ...
- 使用Java Mail发送邮件
本笔记参考自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17839983 JavaMail是SUN提供给开发人员在应用程序中实现 ...