LeetCode【41】缺失的第一个正数

题目:

在这里插入图片描述

分析:
第i个位置的数,如果再数组 0到length-1范围内,则将其放到对应的位置;
再遍历一遍数组,找到第一个不在位置i的正数数字,即为所求

思路:https://blog.csdn.net/weixin_45271005/article/details/127981903

[1, 2, 4, 5, 3, 6]
0 1 2 3 4 5

nums[2] != 2+1 => 4 != 3

nums[2] != nums[4-1] => 4 != 5

所以,要将 4放回到属于自己的位置5上去,为什么要做这个判断?因为5所在的位置万一也是4,那就没法换了。

代码:

private static int firstMissingPositive(int[] nums) {
        int len=nums.length,temp;
        for (int i=0;i<len;i++){
            while ((nums[i]>=1&&nums[i]<=len)&&nums[i]!=i+1&nums[i]!=nums[nums[i]-1]){  
                temp=nums[i];
                nums[i]=nums[nums[i]-1];
                nums[temp-1]=temp;
            }
        }
        for (int i=0;i<len;i++){
            if (nums[i]!=i+1){
                return i+1;
            }
        }
        return len+1;
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/153854.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【docker启动的Jenkins时,遇到时区问题处理】

1、查看容器中的时区 [rootlocalhost jenkins]# docker exec -it jenkins cat /etc/timezone Etc/UTC而本地使用的是Asia/shanghai [rootlocalhost jenkins]# timedatectl | grep Time zoneTime zone: n/a (CST, 0800)###查看 [rootlocalhost jenkins]# cd /usr/share/zoneinf…

代码随想录算法训练营|五十五天

两个字符串的删除操作 583. 两个字符串的删除操作 - 力扣&#xff08;LeetCode&#xff09; 因为两个字符串都能删除&#xff0c;所以字符不匹配的话就有三个方向取最小值赋值给dp[i,j]&#xff0c;不过这里dp[i-1,j-1]2dp[i,j-1]1&#xff0c;从字面上理解 就是 当 同时删wo…

软件外包开发文档工具

有许多工具可用于生成和管理软件开发文档。这些工具可以帮助团队更有效地协作、记录和维护文档。以下是一些常用的软件开发文档生成工具&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 Javadoc&#…

软件测试面试-如何定位线上出现bug

其实无论是线上还是在测试出现bug&#xff0c;我们核心的还是要定位出bug出现的原因。 定位出bug的步骤&#xff1a; 1&#xff0c;如果是必现的bug&#xff0c;尽可能的复现出问题&#xff0c;找出引发问题的操作步骤。很多时候&#xff0c;一个bug的产生&#xff0c;很多时…

GBase8a-GDCA-第二次阶段测试

文章目录 主要内容在这里插入图片描述 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1d552b9d6d204f4fb4280ccc52807ed5.png)在这里插入图片描述 总结 主要内容 GBase8a-GDCA-第二次阶段测试及答案 总结 以上是今天要讲的内容&#xff0c;GBase8a-GDCA-第二次阶段测试…

字母不重复的子串-第15届蓝桥第二次STEMA测评Scratch真题精选

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第158讲。 第15届蓝桥第2次STEMA测评已于2023年10月29日落下帷幕&#xff0c;编程题一共有6题&#xff0c;分别如下&am…

矩阵起源到此一游:千岛湖(内含海量招聘岗位)

秋意渐浓&#xff0c;正值金秋时节&#xff0c;MO 也出去玩啦&#xff01; 海量招聘岗位&#xff0c;点击链接一键查看&#xff0c;就等您来&#xff1a; 「矩阵起源招聘」2023年矩阵起源招聘信息-BOSS直聘​www.zhipin.com/gongsi/job/59a68fecfe392c0d1nd93N-4EVU~.html​编…

放松鸭-技术支持

“放松鸭”利用苹果手表的HRV心率变异性和静息心率等数据进行分析&#xff0c;帮助您了解当前身体疲劳和心理压力程度&#xff0c;并及时提醒您的压力状态。我们的目标是让您更好地感知、管理和应对压力&#xff0c;让您的身心得到平静和放松。通过读取您的心脏数据&#xff0c…

MySQL数据库入门到大牛_基础_08__聚合函数(常用的5种聚合函数;GROUP BY分组;HAVING使用及与WHERE的对比;SELECT的执行过程)

我们上一章讲到了 SQL 单行函数。实际上 SQL 函数还有一类内置函数&#xff0c;叫做聚合&#xff08;或聚集、分组&#xff09;函数&#xff0c;它是对一组数据进行汇总的函数&#xff0c;输入的是一组数据的集合&#xff0c;输出的是单个值。即使输出多个值&#xff0c;也得作…

嵌套的iframe页面中rem字号变小问题处理

问题原因 如果 html 的 font-size: 100px&#xff0c;那字号为0.16rem的字实际为100px * 0.16 16px 故最外层的html的字号 与iframe下的html字号 不相同时&#xff0c;则会导致iframe页面内的字体字号存在问题 解决办法 先获取外层html的font-size const fontSize par…

订水商城实战教程10-宫格导航

上一篇我们介绍了跑马灯的功能&#xff0c;这一篇就进入到我们的主体部分开发。在订水商城业务中可以按照分类查询商品信息&#xff0c;这就涉及到数据源的拆分。 我们在数据源的设计中区分为主子表&#xff0c;主表呢存储唯一的记录&#xff0c;子表的记录可以重复&#xff0…

营收净利双降、市值蒸发50亿,莱克电气苦战双11

文 | 不二研究 若楠 熊生 新增长难寻&#xff0c;新故事难讲。莱克电气股份有限公司(下称“莱克电气”&#xff0c;603355.SH)承压的困局&#xff0c;都写在最新的三季报里。 今年双11前夕&#xff0c;全国吸尘器ODM龙头莱克电气公布了2023年三季报&#xff0c;其前三季度营收…

软件测试,如何月薪过万?

月薪过万这个话题&#xff0c;在现在这个百花齐放的职场里是个很流行的命题。 月薪过万对于行业大佬来说&#xff0c;可能是个不屑一顾的追求&#xff0c;但对于职场新人而言通常是个很实际的人生目标。 我怎么样能达到月薪过万呢&#xff0c;其实严格来说&#xff0c;要找到…

酸性设计——它的独特性和特点都在这里了

酸性设计,一个出乎意料且奇特的概念&#xff0c;实则蕴藏着丰富的创意设计思维和科学内涵。这一术语首次被引入设计领域&#xff0c;是为了探索化学元素在设计中的独特魅力和无限可能。现在&#xff0c;让我们一起进入酸性设计的世界&#xff0c;揭示其独特之处&#xff0c;理解…

mfc140u.dll丢失的解决方法,以及mfc140u.dll解决方法的优缺点

在使用电脑过程中&#xff0c;有时会遇到一些与动态链接库文件&#xff08;DLL&#xff09;相关的错误。其中&#xff0c;mfc140u.dll丢失的错误是较为常见的一种。当这个关键的mfc140u.dll文件丢失或损坏时&#xff0c;可能会导致某些应用程序无法正常运行。在本文中&#xff…

【2016年数据结构真题】

已知由n&#xff08;M>2&#xff09;个正整数构成的集合A{a<k<n},将其划分为两个不相交的子集A1 和A2&#xff0c;元素个数分别是n1和n2&#xff0c;A1和A2中的元素之和分别为S1和S2。设计一个尽可能高效的划分算法&#xff0c;满足|n1-n2|最小且|s1-s2|最大。要求…

tsconfig.json无法写入文件“XXXX“因为它会覆盖输入文件

在开发ts项目的时候&#xff0c;包错提示无法写入文件&#xff1a; tsconfig.json无法写入文件"XXXX"因为它会覆盖输入文件 这是tsconfig.json文件配置问题&#xff0c;需要加入下面的配置就好了&#xff1a; {"compilerOptions": {"outDir": …

6.1 集合概述

1. 集合概述 1.1. 引入 在前面的章节中我们学习了数组&#xff0c;数组可以存储多个对象&#xff0c;但是数组只能存储相同类型的对象&#xff0c;如果要存储一批不同类型的对象&#xff0c;数组便无法满足需求了。为此&#xff0c;Java提供了集合&#xff0c;集合可以存储不…

quartz笔记

Quartz-CSDN博客 上面是Quartz的一些基本知识,如果对quartz的基本API不是很了解的话,建议先看下上面的 和Linux Crontab对比 1.执行粒度: Linux Crontab是进程级 quart是线程级 2.跨平台性: Crontab只能在Linxu运行 quart是java实现,可以跨平台 3.调度集上 Crontab的…

3C品牌国际市场攻略:海外网红营销如何推动电子经济

随着全球信息技术的快速发展&#xff0c;3C电子产品市场变得愈发竞争激烈&#xff0c;各品牌需要不断寻求新的市场推广方法来吸引更多消费者。其中&#xff0c;海外网红营销成为了一个备受关注的趋势&#xff0c;融合了互联网、社交媒体和消费品牌的力量&#xff0c;为3C品牌在…