41.缺失的第一个正数
代码
public class Solution41 {
public int firstMissingPositive(int[] nums) {
//缺失的最小整数为1
int min = 1;
//排序
Arrays.sort(nums);
Set<Integer> set = new HashSet<>();
for (int i = 0; i < nums.length; i++) {
//如果set放不进去,说明重复,如果是负数,都直接跳过。
if (!set.add(nums[i])||nums[i] <= 0) {
continue;
} else {
//比较有没有最小整数1,没有直接返回1
if (nums[i] != min) {
return min;
} else {
//有的话min++,再循环比较
min++;
}
}
}
return min;
}
}