题目
给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。文章来源:https://www.toymoban.com/news/detail-739183.html
请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。文章来源地址https://www.toymoban.com/news/detail-739183.html
解题思路
- 对数组进行排序,便于查看是否连续;
- 因为是最小正整数,所以判断值应从1开始;
- 只要当前元素值大于最小值,则直接返回最小值。
代码展示
class Solution {
public int firstMissingPositive(int[] nums) {
Arrays.sort(nums);
int min = 1;
for (int i = 0; i < nums.length; i++){
if(nums[i] > min){
return min;
}
min = Math.max(nums[i] + 1, min);
}
return min;
}
}
到了这里,关于41. 缺失的第一个正数 --力扣 --JAVA的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!