First Missing Positive
来源:互联网 发布:js选项卡代码理解 编辑:程序博客网 时间:2024/06/18 08:14
题目分析要求:
转载自 https://leetcodenotes.wordpress.com/2013/07/17/first-missing-positive/
- 要求这么高,还不让用空间换时间,说明不是dp,所以基本只让过一两遍数组,一边过一遍直接in place的改动数组(不让生成新数组啊)
- 既然是大部分不missing,所以可以用index来直接和元素产生关系。
- 试图让A[i]这个值x的index是x – 1,即每个index身上的元素都是index本身+1。所以{1 2 3}就是理想中的新数组,{1 5 3}就说明缺2。
代码参考 http://www.cnblogs.com/springfor/p/3889547.html
public class Solution { public int firstMissingPositive(int[] A) { // ref http://www.cnblogs.com/springfor/p/3889547.html 第二种解法 if(A==null || A.length==0 ) return 1; for(int i=0; i< A.length; i++){ if(A[i]>0 && A[i]<=A.length && A[i]!=A[A[i]-1]){ //? A[ind]!=A[i]本应该有的i //swap A[ind] 和 A【i】,ind = A[i]-1 int tmp = A[A[i]-1] ; // A[ind] A[A[i]-1] = A[i]; A[i] = tmp; i--; // 注意这里在重新检查换来的对不对 } } for(int j=0; j<A.length; j++){ if(A[j]-1!=j) return j+1; } return A.length+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
- 第3周项目1-三角形类1
- Android Studio打开模拟器时报错"adb not responding"
- 2014年下半年自学Linux命令6(持续更新)
- 自编小工具:Collect-便利你的阅读摘录收集, 含源码,分享给大家
- 12种超酷HTML5 SVG和CSS3浮动标签效果
- First Missing Positive
- jquery.serializeJSON
- 2014年下半年自学Linux命令7(持续更新)
- 域名解析和cdn 原理
- sublime 添加python 编译方法
- Detecting Wifi Networks Using Delphi and Native Wifi API
- 驱动开发-用windbg工具进行双机调试
- 在使用私有属性公有方法访问的时候在get方法里使用判断
- c++异常Try catch