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

力扣-数组-41缺失的第一个正数

思路

关键有两点

原地哈希

把1-len的数分别映射到下标为0 - len-1的地方中

交换后,接着查看下标i被交换过来的数,直到他到了该到的位置或者超出范围

使用while,把不满足映射关系的点一直交换,直到下标指向的位置符合要求

代码

class Solution {public int firstMissingPositive(int[] nums) {// 哈希的思想,进行原地哈希// 下标为i,应该存放i+1int len = nums.length;for(int i = 0; i < len; i++){// 把i下标的数放在该放的位置,交换后,i下标来新数了,接着交换while(nums[i] > 0 && nums[i] <= len  && nums[nums[i] - 1] != nums[i] ){int tmp = nums[ nums[i]-1 ];nums[ nums[i]-1 ] = nums[i];nums[i] = tmp;}}for(int i = 0; i < len; i++){if(nums[i] != i + 1){return i + 1;}}return len + 1;}
}
http://www.xdnf.cn/news/3152.html

相关文章:

  • PDM协议---音频数据接收
  • 「动态规划」线性DP:最长上升子序列(LIS)|编辑距离 / LeetCode 300|72(C++)
  • 浅谈C# record关键字
  • CSS:选择器-基本选择器
  • linux联接服务器SSH-局域网内网穿透分享
  • VR 汽车线束培训:探索高效学习新路径​
  • 线性微分方程与非线性微分方程
  • 工业控制「混合架构」PK大战 —— 神经网络 + MPC vs 模糊 PID+MPC 的场景选型与实战指南
  • 数据转储(go)
  • 网络原理 - 12(HTTP/HTTPS - 3 - 响应)
  • 人工智能数学基础(六):数理统计
  • [Android]任务列表中有两个相机图标
  • 2025上海车展 | 移远通信推出自研NG-eCall QuecOpen方案,助力汽车安全新标准加速落地
  • 青少年抑郁症患者亚群结构和功能连接耦合的重构
  • 2025年“深圳杯”数学建模挑战赛B题-LED显示屏颜色转换设计与校正
  • Java从入门到精通 - Java入门
  • 极光PDF编辑器:高效编辑,轻松管理PDF文档
  • 相机的基础架构
  • TwinCAT数据类型,%MX,%MD这些特殊符号
  • 解决 RN Switch 组件在安卓端样式很丑的问题
  • MySQL 基本查询(一)
  • SNR8016语音模块详解(STM32)
  • Python中的内置函数
  • Django 自定义celery-beat调度器,查询自定义表的Cron表达式进行任务调度
  • K8S - GitOps 入门实战 - 自动发布与秒级回滚
  • 运维仙途 第1章 灵机突现探监控
  • 【文献速递】邻位连接技术(PLA)在细胞器相互作用中的应用
  • 汽车免拆诊断案例 | 2015款奔驰C200L车发动机起动延迟
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年4月30日第68弹
  • springboot集成Lucene详细使用