题解 | #缺失的第一个正整数#
缺失的第一个正整数
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 // 首先对数组进行排序 Arrays.sort(nums); // 结果 int result = 0; // 当第一个元素大于1时,则最小正整数为1; if (nums[0] > 1) { // 说明最小正整数为1 return 1; } for (int i = 0; i < nums.length - 1; i ++) { // 当索引到的值为负数时,请当前负数的赋值为0; if (nums[i] < 0) { nums[i] = 0; } // 差值是否大于1 int sub = nums[i + 1] - nums[i]; if (sub > 1) { result = nums[i] + 1; break; } else { continue; } } // 当在数组没有最小正整数时,则最小正整数在为数组的最后一个元素加1 if (result == 0) { result = nums[nums.length - 1] + 1; } return result; } }