41. 缺失的第一个正数 --力扣 --JAVA

题目

给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。

请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。

解题思路

  1. 对数组进行排序,便于查看是否连续;
  2. 因为是最小正整数,所以判断值应从1开始;
  3. 只要当前元素值大于最小值,则直接返回最小值。

代码展示

java 复制代码
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;
    }
}
相关推荐
拼好饭和她皆失5 分钟前
高效算法的秘诀:滑动窗口(尺取法)全解析
数据结构·算法·滑动窗口·尺取法
小满、6 分钟前
Redis:数据结构与基础操作(String、List、Hash、Set、Sorted Set)
java·数据结构·redis·分布式锁
断剑zou天涯16 分钟前
【算法笔记】二叉树的Morris遍历
数据结构·笔记·算法
元亓亓亓18 分钟前
LeetCode热题100--739. 每日温度--中等
python·算法·leetcode
小白程序员成长日记19 分钟前
2025.12.11 力扣每日一题
数据结构·算法·leetcode
一碗白开水一20 分钟前
【论文阅读】Denoising Diffusion Probabilistic Models (DDPM)详细解析及公式推导
论文阅读·人工智能·深度学习·算法·机器学习
代码游侠25 分钟前
学习笔记——进程
linux·运维·笔记·学习·算法
天赐学c语言28 分钟前
12.11 - 最长回文子串 && main函数是如何开始的
c++·算法·leetcode
CoovallyAIHub30 分钟前
AI模型训练有哪些关键步骤与必备工具?从概念到可运行的智能模型
深度学习·算法·计算机视觉
程序员-King.33 分钟前
day122—二分查找—完成旅途的最少时间(LeetCode-2187)
算法·leetcode·二分查找·双指针