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

【字节三面】41. 缺失的第一个正数

41. 缺失的第一个正数

解题思路

  • 在原数组上进行操作 如果数字是2 将其放在索引为1的位置上
  • 数字x 放在索引为x - 1的位置上
  • 对于长度为n的数组 其中没有出现的最小正整数只能在[1,n + 1]
  • 引入如果1 - n 这些数都出现了 那么答案就是n + 1
  • 如果都没有出现完全 那么答案就在[1,n]中没有出现最小正整数
class Solution {public int firstMissingPositive(int[] nums) {// 字节三面  // 在原数组上进行操作 如果数字是2 将其放在索引为1的位置上// 数字x 放在索引为x - 1的位置上// 对于长度为n的数组 其中没有出现的最小正整数只能在[1,n + 1] // 引入如果1 - n 这些数都出现了 那么答案就是n + 1 // 如果都没有出现完全  那么答案就在[1,n]中没有出现最小正整数for(int i = 0; i < nums.length; i++){// 一个萝卜一个坑while(nums[i] > 0 && nums[i] <= nums.length && nums[nums[i] - 1] != nums[i]){check(nums, i, nums[i] - 1);// 交换操作}}  //  找到第一个不匹配的位置for(int i = 0; i < nums.length; i++){if(nums[i] != i + 1){return i + 1;}} return nums.length + 1;}public void check(int[] nums, int index1, int index2) {// 互换位置int temp = nums[index1];nums[index1] = nums[index2];nums[index2] = temp;}
}
http://www.lryc.cn/news/103366.html

相关文章:

  • Linux echo命令与反引号、重定向符号以及管道符
  • HTML基础知识点总结
  • VS附加到进程调试
  • 基于深度学习的高精度狗狗检测识别系统(PyTorch+Pyside6+YOLOv5模型)
  • 从互联网到云时代,Apache RocketMQ 是如何演进的?
  • XML (可扩展标记语言)
  • socket()、bind()、listen()、htons()
  • 提升开发效率,Lombok的链式编程和构建模式
  • DuDuTalk:AI语音工牌如何帮助教培公司高效管理课程顾问团队
  • C语言——静态库和动态库的创建和使用
  • 数学学习——最优化问题引入、凸集、凸函数、凸优化、梯度、Jacobi矩阵、Hessian矩阵
  • HCIP期中实验
  • 【Git系列】IDEA集成Git
  • 短视频矩阵源码开发搭建分享--多账号授权管理
  • 数据中台系列2:rabbitMQ 安装使用之 window 篇
  • Windows驱动开发
  • 汽车分析,随时间变化的燃油效率
  • 大数据面试题之Elasticsearch:每日三题(六)
  • 【管理设计篇】聊聊分布式配置中心
  • 远程控制平台简介
  • 韦东山Linux驱动入门实验班(5)LED驱动---驱动分层和分离,平台总线模型
  • 【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境
  • C#——Thread与Task的差异比较及使用环境
  • 刷题 31-35
  • 【mysql】—— 数据类型详解
  • kafka常用命令
  • 数字图像处理(番外)图像增强
  • flutter:轮播
  • 高忆管理:股票投资策略是什么?有哪些?
  • 为公网SSH远程Ubuntu配置固定的公网TCP端口地址主图