First Missing Positive
来源:互联网 发布:彩虹岛 知乎 编辑:程序博客网 时间:2024/04/30 22:15
题目描述:
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)。最后遍历数组,寻找第一个不符合此要求的元素,返回其下标。整个过程需要遍历两次数组, 复杂度为O(n)。
这个题和Missing Number有异曲同工之妙。
代码如下所示:
public int firstMissingPositive(int[] A){ if(A.length==0||A==null) return 1; for(int i = 0;i<A.length;i++) { while(A[i]!=i+1) { if(A[i]>=A.length||A[i]<=0||A[i]==A[A[i]-1]){ break; } int temp = A[i]; A[i] = A[temp-1]; A[temp-1] = temp; } } for(int i = 0;i<A.length;i++) { if(A[i]!=i+1) return i+1; } return A.length+1;}
0 0
- LeetCode: First Missing Positive
- LeetCode First Missing Positive
- LeetCode: First Missing Positive
- [Leetcode] First Missing Positive
- leetcode12: First Missing Positive
- First Missing Positive
- [LeetCode] First Missing Positive
- [Leetcode] First Missing Positive
- leetcode First Missing Positive
- LeetCode First Missing Positive
- [leetcode] first missing positive
- First Missing Positive
- LeetCode: First Missing Positive
- First Missing Positive
- First Missing Positive
- [LeetCode]First Missing Positive
- First Missing Positive
- First Missing Positive
- android studio好卡换电脑(as2.1卡爆)
- TortoiseSVN服务器搭建
- c# new 一个对象要做什么
- 【C++】标准IO库
- hdu_5677_ztr loves substring(回文+二维多重背包)
- First Missing Positive
- Prim算法
- Javaweb中的文件批量上传,并将文件路径等信息保存到数据库中
- (有码)OC单例
- 小eval解决大问题---python
- swap:临时变量vs和交换vs位运算 时间对比
- fiddler显示请求的ip地址
- 自定义View系列教程02--onMeasure源码详尽分析
- 【最长回文子串】HDU3068最长回文【Manacher算法】