41. 缺失的第一个正数

java 复制代码
class Solution {
    public int firstMissingPositive(int[] nums) {
        int n = nums.length;
        for(int i=0;i<n;i++){//确保1在0位置;2在1位置;3在2位置....
            while(nums[i]>=1 && nums[i]<=n && nums[i]!=i+1 && nums[i]!=nums[nums[i]-1]){
                swap(nums,i,nums[i]-1);
            }
        }
        for(int j=0;j<n;j++){
            if(nums[j]!=j+1){
                return j+1;
            }
        }
        return n+1;
    }
    public void swap(int[] nums,int i,int j){
        int temp = nums[i];
        nums[i] = nums[j];
        nums[j] = temp;
    }
}
java 复制代码
class Solution {
    public int firstMissingPositive(int[] nums) {
        Set<Integer> hash = new HashSet<>();
        int n = nums.length;
        for(int i=0;i<n;i++){
            hash.add(nums[i]);
        }
        for(int j=1;j<=n;j++){
            if(!hash.contains(j)){
                return j;
            }
        }
        return n+1;
    }

}
相关推荐
是码农一枚20 分钟前
全域感知,主动预警:视频汇聚平台EasyCVR打造水库大坝智慧安防视频监控智能分析方案
算法
MicroTech202528 分钟前
微算法科技(NASDAQ MLGO)探索自适应差分隐私机制(如AdaDP),根据任务复杂度动态调整噪声
人工智能·科技·算法
say_fall29 分钟前
数据结构之顺序表:一款优秀的顺序存储结构
c语言·数据结构
是码农一枚31 分钟前
全域互联,统一管控:EasyCVR构建多区域视频监控“一网统管”新范式
算法
听情歌落俗37 分钟前
c++通讯录管理系统
开发语言·c++·算法
超级大只老咪1 小时前
蓝桥杯知识点大纲(JavaC组)
java·算法·蓝桥杯
!chen1 小时前
Unity[法线贴图]原理与实践
算法
G_dou_1 小时前
并发编程基础
算法·rust
yuuki2332332 小时前
【数据结构】顺序表的实现
c语言·数据结构·后端
碧海银沙音频科技研究院2 小时前
ES7243E ADC模拟音频转i2S到 BES I2S1 Master输出播放到SPK精准分析
人工智能·算法·音视频