import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型一维数组 
     * @return int整型
     */
    public int minNumberDisappeared (int[] nums) {
        // write code here
        int length = nums.length;
        //特殊值处理
        if(length == 0){
            return 1;
        }
        //数组排序
        Arrays.sort(nums);
        int i=0;
        //找出第一个大于0的数组下标索引
        for(;i<length;i++){
            if(nums[i] > 0){
                break;
            }
        }
        //退出循环的方式是遍历完数组,而不是以break的方式,说明数组中没有正整数
        if(i == length){
            return 1;
        }
        int value = 1;//比较标准
        int j=i;
        //从第一个大于0的正整数开始遍历,找出缺失的第一个正整数
        for(;j<length;j++){
            if(nums[j] == value){//存在该标准
                value++;//比较标准加1
                continue;
            }else{//不存在该标准
                return value;
            }
        }
        
        return j==length?value:1;
    }
}