41. First Missing Positive
来源:互联网 发布:人工智能行业报告 36kr 编辑:程序博客网 时间:2024/05/17 01:10
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.
分析: 数组中可能包含重复的元素,方法就是将元素放到其应该正确被放的位置,然后重新开始遍历一遍,若某个位置对应的不是其应该对应的值,则返回.
时间复杂度:O(N)
空间复杂度: O(1)
public int firstMissingPositive(int[] nums) { if(nums==null) return 1; int len=nums.length; int temp; int j; for(int i=0;i<len;i++){ while(nums[i]>0&&nums[i]<=len&&nums[i]!=nums[nums[i]-1]){//当前元素所在位置不对 temp=nums[i]; j=nums[i]-1; nums[i]=nums[j]; nums[j]=temp; } } for(int i=0;i<len;i++){ if(nums[i]!=i+1) return i+1; } return len+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
- LintCode 单词切分
- iOS--上架规则
- 数据链路层的一些总结
- Hadoop介绍
- php审计基础三:php封装协议小总结
- 41. First Missing Positive
- Android应用集成微信、支付宝支付
- 总结和分析几种判断RecyclerView到达底部的方法
- Android—Loader异步加载
- Android开发之App Widget(一)
- 根据元素的名称获取元素
- java泛型理解
- npm介绍
- 【技术分享】Use MSBuild To Do More(渗透中MSBuild的应用技巧)