第三题 O(N) O(1)  public int firstMissingPositive2 (int[] A) {         int left = 0;         int right = A.length;         while(left<right){             if(A[left]==left+1){                 left++;             }else if(A[left]>right || A[left]<=left || A[A[left]-1]==A[left]){                 A[left] = A[--right];             }else{                 swap(A,left,A[left]-1);             }         }         return left+1;     }     private void swap(int[] arr,int i1,int i2){         if(i1!=i2){             int tmp = arr[i1];             arr[i1] = arr[i2];             arr[i2] = tmp;         }     }