[LeetCode] Summary Ranges
来源:互联网 发布:mac新建文件夹 编辑:程序博客网 时间:2024/06/03 19:21
public class Solution {public List<String> summaryRanges(int[] nums) { int i=0; List<String> result=new ArrayList<String>(); while(i<nums.length){ String s=""; s+=nums[i]; if(i<nums.length-1&&nums[i]+1==nums[i+1]){ s+="->"; while(i<nums.length-1&&nums[i]+1==nums[i+1]){ i++; } s+=nums[i]; } result.add(s); s=new String(); i++; } return result;}}
public List<String> summaryRanges(int[] nums) {LinkedList<String> list = new LinkedList<String>();if(nums.length==1){list.add(nums[0]+"");return list;}for(int i=0;i<nums.length-1;i++){boolean onlyHead = true;String s = nums[i]+"";while((i<nums.length-1)&&Math.abs(nums[i]-nums[i+1])==1){onlyHead=false;i++;}if(!onlyHead){if(i==nums.length-1){if(Math.abs(nums[i]-nums[i-1])==1){s =s + "->"+nums[i];list.add(s);}else{s += "->"+nums[i-1];list.add(s);s = nums[i]+"";list.add(s);}}else if(i==nums.length-2){s += "->"+nums[i];list.add(s);list.add(nums[i+1]+"");}else{s += "->"+nums[i];list.add(s);}}else{if(i==nums.length-2){list.add(s);list.add(nums[i+1]+"");}else{list.add(s);}}}return list; }
上面是网上找到的解法,下面是我自己的解法,
通过比较发现,我的解法之中使用了过多的条件判断,而且由于在外层的for循环中,判断条件使用了nums,length-1,所以给边界条件制造了非常多的不必要麻烦。
之后做题中可以选择在内层循环中键入更为强制的条件,而在外层循环中使条件合理的宽松,内外要有区别。
0 0
- leetcode 228: Summary Ranges
- Leetcode 228 Summary Ranges
- leetcode--Summary Ranges
- LeetCode 228: Summary Ranges
- [leetcode] Summary Ranges
- 【Leetcode】Summary Ranges
- Summary Ranges - LeetCode 228
- 【LeetCode】Summary Ranges
- [LeetCode]Summary Ranges
- [leetcode] Summary Ranges
- [leetcode][array] Summary Ranges
- leetcode[228]:Summary Ranges
- [LeetCode] Summary Ranges
- #leetcode#Summary Ranges
- leetcode summary-ranges
- Leetcode|Summary Ranges
- [leetCode] Summary Ranges
- [leetcode]Summary Ranges
- 黑马程序员——Java基础---IO
- ExtJS WindowGroup示例
- ado.笔记
- 最小编辑代价(动态规划)
- WPF窗体居中显示
- [LeetCode] Summary Ranges
- 黑马程序员——Java基础---GUI
- Swift 与 Object-C 项目混搭桥接文件的配置小记
- 黑马程序员——ios学习笔记 C语言 指针的应用
- 黑马程序员——Java基础---异常&File
- [LeetCode]Course Schedule ||
- POJ 2826 An Easy Problem?!(计算几何)
- HDU 3333 Turing Tree(树状数组 || 线段树)
- 第十章:简单的点击事件