leetcode_First Missing Positive
来源:互联网 发布:php权限管理系统 编辑:程序博客网 时间:2024/06/05 08:05
描述:
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.
思路:
做过find the duplicate number再来解决该问题就很简单了,虽然上述方法并不适合上一题,但是挺适合这一题的即将数组nums[i]中的数值都存储到index为nums[i]-1的位置上,不在位置为index处的值则为(index+1),返回即可。
代码:
public int firstMissingPositive(int[] nums) {if(nums==null||nums.length==0)return 1; int temp = 0;int i = 0,index=0;while (i < nums.length) {if (i + 1 != nums[i]) {index=nums[i]-1;if(index<0||index>=nums.length){ i++; continue;}if(nums[index]!=nums[i])swap(nums, i, index);else {i++;}//i = nums[i] - 1;} elsei++;}for (i = 0; i < nums.length; i++) {if (i + 1 != nums[i]) {temp = i+1;break;}}if(i==nums.length)return nums[nums.length-1]+1;return temp;}public void swap(int[] nums, int index1, int index2) {int temp = nums[index1];nums[index1] = nums[index2];nums[index2] = temp;}
0 0
- LeetCode_First Missing Positive
- leetcode_First Missing Positive
- leetCode_First Missing Positive
- Leetcode_first-missing-positive (updated c++ and python version)
- 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
- [Javascript Function] Arguments, call(), apply(), caller(), callee()
- 线程之间的同步和通信,synchronized,wait(),notify(),notifyAll()
- CRC校验码的理解+CRC校验码算法代码
- 黑马程序员—JAVA基础—常量、变量、数据类型、运算符
- __thread关键字
- leetcode_First Missing Positive
- 从普通程序员到估值上亿的公司老板,他只用了1年!
- 往排好的数组中插数
- Leveldb源码分析--8
- 黑马程序员--Java中参数传递问题
- hiho刷题日记——第二十二天更为复杂的买卖房屋姿势
- Leveldb源码分析--9
- ArcGIS Engine 创建索引(属性索引)——提高查询效率
- Android之NDK开发 环境配置