当前位置: 首页 > news >正文

leetcode41.缺失的第一个正数

 看了b站视频题解才写出来

这个最小正数的结果一定在1~nums.size()+1之中,这里利用原地哈希的做法,将num放在num-1索引处(num非正数或者大于数组长度则随意放置);原地哈希完毕后进行遍历,对于没有按照如上规则放置的数,它的索引+1即为最终结果

class Solution {
public:
    int firstMissingPositive(vector<int>& nums) {
        for(int i=0;i<nums.size();){
            if(nums[i]<=0||nums[i]>nums.size()||nums[i]==i+1||nums[i]==nums[nums[i]-1]){
                i++;
                continue;
            }
            else
                swap(nums[i],nums[nums[i]-1]);
        }
        for(int i=0;i<nums.size();i++)
            if(nums[i]!=i+1)
                return i+1;
        return nums.size()+1;
    }
};

 

相关文章:

  • 数智读书笔记系列025《智能医疗:医学人工智能的未来》
  • Rust安装并配置配置vscode编译器
  • CPP从入门到入土之类和对象Ⅲ
  • UMI-OCR Docker 部署
  • Python:计算机二级:简单应用
  • g对象在flask中主要是用来实现什么
  • 【Linux】Linux_Ubuntu与Windows之间的文件传输
  • 3.26品优购
  • Linux之编辑器vim命令
  • 力扣HOT100之普通数组:53. 最大子数组和
  • Linux编译器gcc/g++使用完全指南:从编译原理到动静态链接
  • 【leetcode hot 100 215】数组中的第K个最大元素
  • kubeadm部署k8s-1.32版本集群(1个master,1个worker)
  • PX4飞控-接收MAVLINK消息(2)-生成MAVLINK_MSG_ID_***.h文件
  • QEMU源码全解析 —— 块设备虚拟化(10)
  • [笔记] 系统分析师 第二章 经济管理与应用数学 (未完待续)
  • Linux系统离线安装ollama【详细版】
  • <command-line>:0:1: error: macro names must be identifiers m
  • 2000-2019年各省地方财政行政事业性收费收入数据
  • 【数据采集】技术对比:PCIe、PXIe、PCI、PXI、网口与USB
  • 印方称所有敌对行动均得到反击和回应,不会升级冲突
  • 总导演揭秘十五运会闭幕式:赴一场星辰大海之约
  • 印巴战火LIVE丨“快速接近战争状态”?印度袭击巴军事基地,巴启动反制军事行动
  • 庆祝上海总工会成立100周年暨市模范集体劳动模范和先进工作者表彰大会举行,陈吉宁寄予这些期待
  • 新修订的《婚姻登记条例》明起施行,领证不用户口本了
  • 2025中国品牌日上海践行活动启动,将建设品牌生态交互平台