#include <unordered_map>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型
     */
    int minNumberDisappeared(vector<int>& nums) {
        // write code here
        // sort(nums.begin(),nums.end());
        // int index=0;
        // for(int i=0;i<nums.size();i++) if(nums[i]>0) {index = i;break;}
        // if(nums[index]!=1) return 1;
        // for(int i=index;i<nums.size()-1;i++){
        //     if(nums[i+1]-nums[i]!=1){
        //         return nums[i]+1;
        //     }
        // }
        // return nums[nums.size()-1]+1;
        int n = nums.size();
        unordered_map<int, int>u_map;
        for(int i=0;i<nums.size();i++) u_map[nums[i]]++;
        int res=1;
        for(int res=1;res<nums.size()+2;res++){
            if(u_map.count(res)==0) return res;
        }
        return nums.size()+1;

        // while(u_map.find(res)!=u_map.end()) res++;
        // return res;
    }
};