题解 | #缺失的第一个正整数#
缺失的第一个正整数
https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int minNumberDisappeared (int[] nums) {
// write code here
HashMap<Integer, Integer> map = new HashMap<>();
//对于长度为 n 的数组,第一个缺失的正整数一定在 [1, n+1] 范围内。
// 将所有不在[1, n]范围内的数改为n+1(一个肯定不会影响结果的值)
int n = nums.length;
for(int i=0;i<n;i++){
map.compute(nums[i],(k,v)->v==null?1:v+1);
}
for(int i=1;i<=n+1;i++){
if(map.containsKey(i)){
continue;
}else{
return i;
}
}
return 0;
}
}

