LeetCode Missing Ranges [LeetCode Book Problem]
2015-06-15 12:59
281 查看
Given a sorted integer array where the range of elements are [lower, upper] inclusive, return its missing ranges.
For example, given [0, 1, 3, 50, 75], lower = 0 and upper = 99, return ["2", "4->49", "51->74", "76->99"].思路分析:这题基本就是考察双指针的应用,从lower-1开始,遍历nums数组找出missing range,可以利用pre和cur一前一后两个指针移动实现。注意lower和upper的处理,lower可以比nums中最小的数大,upper可以比nums中最大的数小,所以考虑要周全。
参考Code(Book中的题目)
For example, given [0, 1, 3, 50, 75], lower = 0 and upper = 99, return ["2", "4->49", "51->74", "76->99"].思路分析:这题基本就是考察双指针的应用,从lower-1开始,遍历nums数组找出missing range,可以利用pre和cur一前一后两个指针移动实现。注意lower和upper的处理,lower可以比nums中最小的数大,upper可以比nums中最大的数小,所以考虑要周全。
参考Code(Book中的题目)
public List<String> findMissingRanges(int[] nums, int lower, int upper) { List<String> res = new ArrayList<String>(); int pre = lower - 1; for(int i = 0; i < nums.length; i++){ if(i == nums.length){ cur = upper + 1; } else cur = nums[i]; if(cur - pre >= 2){ int missStart = pre + 1; int missEnd = cur - 1; if(missEnd == missStart) res.add(missEnd); else res.add(missStart + "->" + missEnd); pre = cur; } else { pre = cur; } } return res; }
相关文章推荐
- struts2 标签介绍
- Lucene5.2.0+SQLite Demo
- 实验三:学生工作管理系统asp和asp.cs代码
- CSS定义鼠标移上图片链接,出现边框效果
- 用系统工具sxstrace检查缺少的VC运行时组件
- svn安装插件
- SDWebImage源码解析之SDWebImageManager的注解
- jQuery和CSS3超炫3D整屏垂直滚动页面特效
- 6,15 喜刷刷oj 1 j 复数类 重载运算符+
- 【项目4 - 处理C++源代码的程序】(3)
- 【分布式版本控制Git】(三)Git的使用
- python的线程thread笔记
- android 图片获取策略,下载并保存至指定文件夹
- c++: 为什么需要名字隐藏机制(c++ Why name hiding)?
- Linux 下 解压rar格式压缩包
- Lua时间转换
- Center os FTP配置
- 【计算几何】推导坐标的旋转公式
- Acfun自动签到程序
- 设计模式那点事--简单工厂模式