题解 | #缺失的第一个正整数#
缺失的第一个正整数
https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int minNumberDisappeared1 (int[] nums) {
// write code here
Arrays.sort(nums);
int length=nums.length;
int max=nums[length-1];
int min=nums[0];
if(min>1||max<1)return 1;
for(int index=0;index<length;index++){
if(index==length-1){
return nums[index]+1;
}else if(nums[index+1]-nums[index]>1){
for(int tmp=nums[index]+1;tmp<nums[index+1];tmp++){
if(tmp>0){
return tmp;
}
}
}
}
return -1;
}
public int minNumberDisappeared (int[] nums){
Set<Integer> set=new HashSet<>();
for(int n:nums){
set.add(n);
}
int j=1;
while(true){
if(!set.contains(j)){
return j;
}else{
j++;
}
}
}
}
查看18道真题和解析