Leetcode220: First Missing Positive
来源:互联网 发布:磁盘恢复软件免费版 编辑:程序博客网 时间:2024/06/07 03:36
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),然后再一次遍历O(n),找到第一个位置和值不对应的地方即是缺少的整数。
class Solution {public: int firstMissingPositive(vector<int>& nums) { int n = nums.size(); int i = 0; while(i<n) { if(nums[i]>0 && nums[i]<n && nums[i]!=i+1 && nums[i]!=nums[nums[i]-1]) { int temp = nums[i]; nums[i] = nums[temp-1]; nums[temp-1] = temp; } else { i++; } } for(int i = 0; i < n; i++) { if(nums[i]!=i+1) return i+1; } return n+1; }};
0 0
- Leetcode220: First Missing Positive
- 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
- qt tableview代理1
- jQuery Video Extend
- hidden symbol ... is referenced by DSO 解决办法
- 2016-1-7-Thingking in Java 读书笔记(三)--操作符
- mysql group by 用法解析(详细)
- Leetcode220: First Missing Positive
- 第一篇博客
- 点击键盘的 next 按钮,在不同的 textField 之间换行
- 在Imac上安装nginx
- cstring转const char*
- <div>标签嵌套多层如何找准位置
- 图解SQL的各种连接(Inner join,outer join,left join,right join)
- 修改xcode生成app的名字
- Galileo Gen1 XDK尝试