【LeetCode热题100】【数组】缺失的第一个正数

题目链接:41. 缺失的第一个正数 - 力扣(LeetCode)

要找出这个数组里面没有出现的最小的正数,最小的正数是1,n个元素的数组能够让答案最大为n+1,也就是位置0对应1,位置1对应2......如果我们按照这样的对应关系重新整理一下数组,从0到n-1遍历,num[i]和i+1不相等的就是缺失的最小的正数

如何整理数组呢,找到范围在1到n之间的num[i],它正确的位置应该在num[i]-1,交换这两个的值

复制代码
class Solution {
public:
    int firstMissingPositive(vector<int> &nums) {
        int n = nums.size();
        for (int i = 0; i < n; ++i) {
            while (nums[i] > 0 && nums[i] <= n && nums[i] != nums[nums[i] - 1])
                swap(nums[i], nums[nums[i] - 1]);
        }
        for (int i = 0; i < n; ++i)
            if (nums[i] != i + 1)
                return i + 1;
        return n + 1;
    }
};
相关推荐
音视频牛哥7 分钟前
鸿蒙 NEXT RTSP/RTMP 播放器如何回调 RGB 数据并实现 AI 视觉算法分析
人工智能·算法·harmonyos·鸿蒙rtmp播放器·鸿蒙rtsp播放器·鸿蒙next rtsp播放器·鸿蒙next rtmp播放器
飞Link10 分钟前
掌控 Agent 的时空法则:LangGraph Checkpoint (检查点) 机制深度实战
开发语言·python·算法
乐迪信息17 分钟前
智慧港口中AI防爆摄像机的船舶越线识别功能
大数据·人工智能·物联网·算法·目标跟踪
F_D_Z24 分钟前
扩散模型快速采样:从渐进蒸馏到并行推理
人工智能·算法·加速采样
睡一觉就好了。1 小时前
哈希表(一)
算法·散列表
輕華1 小时前
Word2Vec与CBOW算法实战:从词向量到上下文感知
人工智能·算法·word2vec
Matlab程序猿小助手1 小时前
【MATLAB源码-第315期】基于matlab的䲟鱼优化算法(ROA)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·算法·matlab
圣保罗的大教堂1 小时前
leetcode 874. 模拟行走机器人 中等
leetcode
luoganttcc1 小时前
CUDA grid/block 到矩阵映射示例(矩阵加法)
人工智能·算法·机器学习
YuanDaima20482 小时前
Python 数据结构与语法速查笔记
开发语言·数据结构·人工智能·python·算法