首页 > 代码库 > 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.

Analysis: 第一次写的时候没有考虑到数组元素有可能重合的问题

 1 public class Solution { 2     public int firstMissingPositive(int[] A) { 3         int shouldbe = 1; 4         int store = 0; 5         java.util.Arrays.sort(A); 6         for (int elem : A) { 7             if (elem > 0) { 8                 if (elem == store) continue; 9                 else if (elem == shouldbe) {10                     shouldbe++;11                     store = elem;12                 }13                 else break;14             }15         }16         return shouldbe;17     }18 }