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;
    }
}
相关推荐
董董灿是个攻城狮10 分钟前
大模型连载8:词向量如何表示近义词?
人工智能·python·算法·机器学习
Jasmine_llq14 分钟前
《B4001 [GESP202406 一级] 立方数》
算法·单输入处理·整数算术运算·立方数枚举验证算法(核心逻辑)·循环终止优化算法·状态标记算法·三元运算符输出
芸忻23 分钟前
day 13 第六章 二叉树 part01代码随想录算法训练营71期
数据结构·算法
2401_9001515425 分钟前
C++中的桥接模式
开发语言·c++·算法
小O的算法实验室37 分钟前
2026年IEEE TNSE SCI2区,基于预测的双阶段分布式任务分配方法+搜救场景中最大化任务分配,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
月流霜40 分钟前
Midjourney 零基础控图七大参数
人工智能·算法·midjourney
luckycoding1 小时前
1487. 保证文件名唯一
数据结构·算法·leetcode
DeeGLMath1 小时前
从基础算法到机器学习的研究轨迹
人工智能·算法·机器学习
Barkamin1 小时前
冒泡排序的简单实现
java·算法·排序算法
_dindong1 小时前
【单调栈/队列&并查集&字符串哈希&Tire树】习题集锦
数据结构·c++·算法·哈希算法