[leedcode]Summary Ranges
2015-06-28 22:46
183 查看
双指针思路,循环时,声明一个变量保存范围起始的下标
注意:如何在数组只有一个元素,还有遍历到最后一个元素的时候,去更新结果集。
public class Solution { public List<String> summaryRanges(int[] nums) { List<String> res=new ArrayList<String>(); int start=0; for(int i=1;i<=nums.length;i++){ if(i==nums.length||nums[i]>nums[i-1]+1){ if(start==i-1){ res.add(nums[start]+""); }else{ res.add(nums[start]+"->"+nums[i-1]); } start=i; } } return res; } }
大循环遍历一遍整个数组,里面小指针过一遍一个range,总体还是一遍。O(n). List<String> list=new ArrayList(); for(int i=0;i<nums.length;i++){ int a=nums[i]; while(i+1<nums.length&&(nums[i+1]-nums[i])==1){ i++; } if(a!=nums[i]){ list.add(a+"->"+nums[i]); }else{ list.add(a+""); } } return list;
相关文章推荐
- mongodb数据结构学习1--增删改查
- IDC:中国安全市场发展潜力巨大
- IDC:中国安全市场发展潜力巨大
- PHP运行模式
- 易宝典文章——玩转Office 365中的Exchange Online服务 之五 怎样利用PSl连接Exchange Online实现管理
- C# Dictionary用法总结
- [leetcode] Median of Two Sorted Arrays 两个排序数组找出第k个数,或者中位数
- unix环境高级编程----进程控制wait()
- Storm开发过程中遇到的Topology “hang"问题
- (7/18)重学Standford_iOS7开发_视图、绘制、手势识别_课程笔记
- Linux-FLASH驱动设计二
- js页面跳转整理
- 分类的使用注意
- js页面跳转整理
- 苦练SOC“基本功”启明星辰九年磨一剑
- GPIO
- 兔子--自学ps的整个过程
- JDBC学习笔记
- Spring MVC+Mybatis+Maven+Velocity+Mysql整合实例
- LVS集群的负载调度