首页 > 代码库 > LeetCode First Missing Positive
LeetCode First Missing Positive
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.
1 public class Solution { 2 public int firstMissingPositive(int[] A) { 3 if (A.length == 0) { 4 return 1; 5 } 6 int i=0; 7 int n = A.length; 8 while (i < n) { 9 if (A[i] != i + 1 && A[i] >= 1 && A[i] <= n && A[A[i] - 1] != A[i]) {10 swap(A,i,A[i]-1);11 }else ++i;12 }13 for (int j = 0; j < A.length; j++) {14 if (A[j] != j + 1) {15 return j + 1;16 }17 }18 return n + 1;19 }20 void swap(int[] A, int a, int b) {21 int temp = A[a];22 A[a] = A[b];23 A[b] = temp;24 }25 }
LeetCode First Missing Positive
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。