228. Summary Ranges
来源:互联网 发布:西门淘宝店 编辑:程序博客网 时间:2024/05/21 12:49
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"].
思路:设置一个start和end,开始时都指向0,然后end往后走,直到nums[end]!=nums[end-1],则第一个range是nums[start]--->nums[end-1]
然后start=end, end++;
代码如下(已通过leetcode)
public class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> list=new ArrayList<String>();
if(nums.length==0) return list;
boolean iscome=false;
int i=1;
String temp=""+nums[0];
while(i<nums.length) {
iscome=true;
if(nums[i]!=nums[i-1]+1) {
temp+="->";
temp+=nums[i-1];
list.add(temp);
temp=""+nums[i];
}
i++;
}
if(iscome) {
if(nums[i-1]==nums[i-2]+1) {
temp+="->";
temp+=nums[i-1];
list.add(temp);
}
else list.add(""+nums[i-1]);
} else{
list.add(""+temp);
}
String[] temps=new String[list.size()];
int k=0;
while(!list.isEmpty()) {
temps[k]=list.remove(0);
k++;
}
for(k=0;k<temps.length;k++){
if(temps[k].contains("->")){
String[] split=temps[k].split("->");
if(split[0].equals(split[1])){
temps[k]=split[0];
}
}
}
for(k=0;k<temps.length;k++)
list.add(temps[k]);
return list;
}
}
- 228.Summary Ranges
- [leetcode]228.Summary Ranges
- [LeetCode]228.Summary Ranges
- [leetcode] 228.Summary Ranges
- [leetcode] 228. Summary Ranges
- 228. Summary Ranges
- 228. Summary Ranges LeetCode
- 228. Summary Ranges
- 228. Summary Ranges
- 228. Summary Ranges
- 228. Summary Ranges
- 228. Summary Ranges
- 228. Summary Ranges
- leetcode 228. Summary Ranges
- LeetCode *** 228. Summary Ranges
- 228. Summary Ranges
- 228. Summary Ranges
- leetcode-228. Summary Ranges
- Android开发一些实用方法
- js之事件冒泡和事件捕获详细介绍
- Struts数据回显技术(附加防表单重复提交)
- spring+activemq+maven集成
- 经济危机,其实机会大于危险
- 228. Summary Ranges
- Spring框架核心
- 三维结构模型DXF文件绘制技巧
- c标签遍历嵌套的List集合
- 链表反转
- linux 下源码安装 PHP7
- ARM中断向量程序实例
- Eclipse中出现一个类文件没有写,项目不一致的问题
- Keep on Truckin'