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

41. 缺失的第一个正数

题目链接:https://leetcode.cn/problems/first-missing-positive/description/

 

 

 

 

 

 

 

 

 

 

解析:

这道题蛮有意思的,隐含了一个条件,要找的数一定在[1, N + 1]之间,所以就将大于0且小于等于N的数放到相应的下标位置

最后遍历哪个位置不符合就好了

 

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

 

http://www.sczhlp.com/news/12943/

相关文章:

  • ESP32-S3 控制 按键
  • SQLSERVER开窗函数
  • 某中心获计算语言学会议最佳论文奖
  • PyCharm下载安装教程(附安装包和激活教程)PyCharm保姆级安装教程
  • ESP32-S3 控制 继电器
  • 黎曼手稿的价值
  • AS5600 的区别 MT6701
  • 详细介绍:Vue3核心语法进阶(computed与监听)
  • 恭喜!!华为终于帮了寒武纪一把!
  • C. To Become Max
  • Doris的单机安装
  • NPU架构设计介绍
  • CF1928F Digital Patterns 题解
  • 大规模RTL设计最高19.94倍仿真加速!GSIM 模拟器创新三级优化突破仿真瓶颈,实现香山处理器Linux启动7.34倍提速
  • kotlin: 使用apply
  • kotlin: 使用run
  • kotlin: 使用with
  • kotlin: 协程: runBlocking 只会等待自己子协程执行结束
  • kotlin: takeWhile/takeLastWhile函数
  • 读AI繁荣04AI提升教育水平
  • 形式化验证提升RSA性能与部署效率
  • Windows Server 2016 中文版、英文版下载 (2025 年 8 月更新)
  • 一步一步学习使用LiveBindings(14)TListView进阶使用(2),打造天气预报程序
  • 电器是怎样工作的?——解码电效应
  • 软件卸载后“通知与操作”残留
  • 可能是主席树
  • 微软更新安全公告3009008:全面禁用SSL 3.0协议
  • 神经网络TTS实现Alexa跨语言语音合成
  • 在房屋建筑的给水排水管道设计中,流体力学的应用是至关重要的。它帮助确保水流的顺畅、安全,并优化系统的效率。流体力学可以细分为以下几个领域,涵盖了设计、分析、优化等方面:
  • 《Fundamentals of Computer Graphics》第九章 图形管线 总结