41. First Missing Positive
来源:互联网 发布:软件项目生命周期管理 编辑:程序博客网 时间:2024/06/15 10:13
41. First Missing Positive
题目描述:Given an unsorted integer array, find the first missing positive integer.
For example,
Given[1,2,0]
return3
,
and[3,4,-1,1]
return2
. Your algorithm should run in O(n) time and uses constant space.
题目大意:给定一个未排序的数组,找到第一个丢失的正整数。
思路:将每正数放到他正确的位置,第0个位置放置元素1,第一个位置放置元素2,依此类推,放置完毕之后,判断每个位置的元素,是否满足当前位置的元素为当前位置索引+1,如果不是,则返回当前位置应该返回的元素,即索引+1,如果遍历完毕,都符合适当位置放相应元素,则丢失的是最后一个元素,返回n+1。
代码
package Array;/*** @Author OovEver* @Date 2017/11/30 20:52*/public class LeetCode41 { public int firstMissingPositive(int[] nums) { for(int i=0;i<nums.length;i++) {// 判断当前位置的元素是否为应当放的元素,如位置0放1位置放2 while (nums[i] > 0 && nums[i] <= nums.length && nums[nums[i] - 1] != nums[i]) {// 如果不是,交换两个位置的元素 int temp = nums[nums[i] - 1]; nums[nums[i] - 1] = nums[i]; nums[i] = temp; } } for(int i=0;i<nums.length;i++) {// 正数不连续 if (nums[i] != i + 1) { return i + 1; } } return nums.length + 1; }}
阅读全文
0 0
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- Hibernate的级联操作
- .NET
- 8张图理解Java
- 【FreeMarker学习】FreeMarker中If、List使用
- BZOJ1083(SCOI2005)[繁忙的都市]--最小生成树
- 41. First Missing Positive
- HDU 1026 Ignatius and the Princess I
- android 6.0动态权限申请以及拒绝后的控制
- 任意位置进入jupyter
- Socket编程
- Linux用户忘记root密码怎么办?
- webpack 入门
- 7.7用穷举法来调用函数
- object references an unsaved transient instance