first missing positive
1 class Solution { 2 public: 3 int firstMissingPositive(int A[], int n) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 if (n == 0) return 1; 7 int i=0; 8 while(i<n) 9 { 10 if( A[i]>0 && A[i] < n && A[A[i]-1]!=A[i]) 11 { 12 int tmp = A[A[i]-1]; 13 A[A[i]-1] = A[i]; 14 A[i] = tmp; 15 } 16 else 17 i++; 18 } 19 int k = 0; 20 while (k < n && A[k] == k+1) k++; 21 return k+1; 22 } 23 };
posted on 2013-09-06 17:09 jumping_grass 阅读(154) 评论(0) 收藏 举报
浙公网安备 33010602011771号