First Missing Positive
来源:互联网 发布:数据透视表又叫做什么 编辑:程序博客网 时间:2024/05/29 19:37
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.
思路: 这个题的意思是找到 第一个 在数组中本应该出现但没出现的正数。 我们在遍历数组的时候, 把每个不在正QUE 位置上的 数字都换到正QUE位置上, 然后遍历整个数组, 找到第一个 A[i] != i + 1 的数字。
易错点: 在数字交换时候, 由于 A[ i ] 是作为下标出现, 因此 后面再替换时候 ,一定要用 temp 值。
public class Solution { public int firstMissingPositive(int[] A) { int len = A.length; if(len < 1) return 1; for(int i = 0; i < A.length; i++){ while(A[i] > 0 && A[i] <= len && A[i] != i + 1 && A[A[i] - 1] != A[i]){ int temp = A[i];//---- A[i] = A[temp - 1]; A[temp - 1] = temp; } } for(int i = 0; i < len; i++){ if(A[i] != i + 1) return i + 1; } return len + 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
- RK3288系统编译及环境搭建
- 菜鸟程序员的成长之路(四)——欢送2014,欢迎2015
- rk3288串口开发
- 函数的返回竟然能作为左值
- 学习笔记:享元模式
- First Missing Positive
- 提取一个表中的部分数据去建一个新的表
- poj3264 balanced
- [综艺][香港亿万大富翁激凸版5部合集 1997][RMVB/1.30GB][国粤双语无字幕]
- C++单例模式4种实现详解
- ubuntu 14.04安装xen
- 移动互联网大讨论(一):开篇
- JS深刻理解补充
- linux select函数详解