leetcode hot100数组:缺失的第一个正数

为了知道第一个缺失的正数,可以将所有的整数按照顺序放到数组里面,然后遍历数组,哪个地方不是对应的正数,那么就缺失了这个地方的对应的正数。

需要放进数组进行排列的数据需要满足要求:正数、大小小于等于数组大小的数

如何进行排列,只需要遍历到某个索引,然后将这个地方的数据放到合适的地方就行了。应当让这两个数交换:numsi 和numsnums\[i-1],之所以减一就是为了满足上述要求。那么交换一次就行了吗?不行,因为交换过来的数不一定就是放到了合适的位置,所以需要while循环

class Solution {

public int firstMissingPositive(int\[\] nums) {

for(int i = 0;i<nums.length;i++){

int cur = numsi;

while(cur>0&&cur<=nums.length&&cur!=numscur-1){

int temp = cur;

numsi = numscur-1;

numscur-1 = cur;

cur = numsi;

}

}

for(int i = 0;i<nums.length;i++){

if(numsi!=i+1){

return i+1;

}

}

return nums.length+1;

}

}

相关推荐
地平线开发者21 分钟前
模型部署|征程6 量化路线怎么选:PTQ 还是 QAT?
神经网络·算法·机器学习
程序员阿鹏27 分钟前
如何实现MySQL分库分表?
数据结构·数据库·sql·mysql·缓存
辰辉创聚27 分钟前
禽流感病毒分子基础:表面抗原与内部转录复合体的功能解析
ide·leetcode·rabbitmq·重组血凝素蛋白·甲型流感病毒核蛋白·禽流感单抗
不会就选b32 分钟前
算法日常・每日刷题--<贪心>12
算法
小羊没烦恼!1 小时前
Memory 记忆设计讨论:为什么 Agent Memory 不能只靠向量数据库?
java·开发语言·windows·算法·c#
ysu_03142 小时前
08-二叉树遍历:四种方式详解
c语言·数据结构·算法·leetcode
咸鱼老弟2 小时前
Speculative Decoding(投机采样):大模型"先猜后验",生成速度翻倍
前端·算法·ai编程
荆棘鸟智能2 小时前
AI算法持续学习与迭代怎么做?从数据闭环到灰度发布的MLOps工程实践
人工智能·算法·架构·边缘计算
Lyyaoo.2 小时前
【二分查找】【中等】搜索二维矩阵/排序数组的第一位和最后位置/搜索旋转排序数组/旋转排序数组中的最小值
java·数据结构·算法
土司大王2 小时前
LeetCode hot100——153.寻找旋转排序数组中的最小值:Java 二分模板与 O(log n) 分析
java·算法·leetcode