41. First Missing Positive

class Solution {
    public int firstMissingPositive(int[] nums) {
        int i=0;
        while(i<nums.length)
        {
            if(nums[i]>0&&nums[i]<=nums.length&&nums[i]!=nums[nums[i]-1])
            {
                int tmp=nums[i];
                nums[i]=nums[tmp-1];
                nums[tmp-1]=tmp;
            }
            else
                i++;
        }
        for(int j=0;j<nums.length;j++)
            if(nums[j]!=j+1)
                return j+1;
        return nums.length+1;
    }
}

 

posted @ 2017-09-24 13:03  Weiyu Wang  阅读(110)  评论(0)    收藏  举报