题解 | #缺失的第一个正整数#
缺失的第一个正整数
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; } }