leetCode 41. First Missing Positive
2016-03-27 22:04
260 查看
41. First Missing Positive
Given an unsorted integer array, find the first missing positive integer.
For example,
Given
and
Your algorithm should run in O(n) time and uses constant space.
这道题是查找第一个确实的正整数,利用数组的索引是一个非负的有序数列,把每个位置i存放数i+1。遍历一遍数组,如果num[i]!=i+1,就是第一个缺少的正整数。
Given an unsorted integer array, find the first missing positive integer.
For example,
Given
[1,2,0]return
3,
and
[3,4,-1,1]return
2.
Your algorithm should run in O(n) time and uses constant space.
这道题是查找第一个确实的正整数,利用数组的索引是一个非负的有序数列,把每个位置i存放数i+1。遍历一遍数组,如果num[i]!=i+1,就是第一个缺少的正整数。
public int firstMissingPositive(int[] nums) { for(int i=0;i<nums.length;i++){ while(nums[i]!=i+1){ if(nums[i]>=1 && nums[i]<=nums.length && nums[i]!=nums[nums[i]-1]){ int tmp=nums[i]; nums[i]=nums[nums[i]-1]; nums[tmp-1]=tmp; }else{ break; } } } for(int i=0;i<nums.length;i++){ if(nums[i]!=i+1) return i+1; } return nums.length+1; }
相关文章推荐
- VMware虚拟机无法识别U盘解决方案
- GZOI爆零(?)记
- 剖析NodeJs的事件轮询机制
- 项目1-使用默认参数构造函数
- 20145201 《Java程序设计》第四周学习总结
- 0327定时执行--存储过程--dbms_job--dbms_scheduler.create_job
- 前端开发者必备的20个在线工具和指南
- HDU-4572 Bottles Arrangement (数学)
- BestCoder Round #77
- HTML、CSS和JavaScript学习五(案例分析一框架窗体分割、超链接和热点区域)
- 第三次补作业
- 《linux内核设计与实现》第十八章
- 作业5:扒开系统调用的三层皮(下) 20135115臧文君
- Android-ProgressBar进度条以及对话框的使用
- CSS样式表
- 第4周项目5-用递归法求解(1)
- caffe教程翻译:在caffe上训练与测试数据
- Eclipse 使用 SVN 插件后修改用户方法汇总
- ios ARC&MRC混编
- 【干货下载】谷歌、亚马逊等十大公司精选微服务案例