缺失的第一个正数—leetcode41
给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。
示例 1:
输入: [1,2,0] 输出: 3
示例 2:
输入: [3,4,-1,1] 输出: 2
示例 3:
输入: [7,8,9,11,12] 输出: 1
提示:
你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。
思路:将数值与下标产生联系,将nums[i]放到索引为nums[i]-1的位置,需要注意超出数组len的值与非正数不做处理直接跳过,最后遍历判断数值是否在正确的位置即可
class Solution {
public:int firstMissingPositive(vector<int>& nums) {int N = nums.size();for(int i=0;i<N;){//确定nums[i]的值对应的下标不越界,同时排除num[i]本身位置正确或者nums[i]应该放入的位置nums[i]-1原本就是nums[i](如[1,1])if(nums[i]>0&&nums[i]<=N&&nums[i]!=nums[nums[i]-1]){//换位置之后需要继续判断换过来的值是否在对的位置上,因此不能i++;int index = nums[i];//nums[i] = nums[index -1];nums[index -1]=index;}else{i++;}}for(int i=0;i<N;i++){if(nums[i]!=i+1){return i+1;}}return N+1;}
};
缺失的第一个正数—leetcode41相关推荐
- LeetCode--41.缺失的第一个正数(C)
缺失的第一个正数(C) 1. 题目描述 2. 题目分析 3. C语言实现 3.1 申请额外空间实现 3.2 原数组实现 1. 题目描述 难度:困难 2. 题目分析 这道题本质上是很简单的,但是加上了这 ...
- Leetcode 40组合总数(回溯)Ⅱ41缺失的第一个正数42接雨水
维护公众号:bigsai ,回复进群加入打卡,回复bigsai分享一些学习资源! 上周第一次 LeetCode 36有效的数独&37解数独(八皇后问题) 上周第二次 LeetCode 38外观 ...
- 41. 缺失的第一个正数 golang
41. 缺失的第一个正数 给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3 ...
- Java实现 LeetCode 41 缺失的第一个正数
41. 缺失的第一个正数 给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: ...
- Leetcode算法Java全解答--41. 缺失的第一个正数
Leetcode算法Java全解答–41. 缺失的第一个正数 文章目录 Leetcode算法Java全解答--41. 缺失的第一个正数 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 ...
- 41. First Missing Positive 缺失的第一个正数
Title 给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [ ...
- 努力前端【LeetCode-10】448. 找到所有数组中消失的数字 442. 数组中重复的数据(中等) 41. 缺失的第一个正数(困难) [鸽笼原理,数组,Map,类似No.645]
文章目录 题目描述-448 一.哈希Map 二.空间复杂度的优化--鸽笼原理 三.总结 题目描述-442 一.还是hashMap 二.继续鸽笼原理 题目描述-41 一.基础方案 二.数组模拟Map 题 ...
- Leetcode--41. 缺失的第一个正数
给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11 ...
- leetcode41 缺失的第一个正数
给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11 ...
最新文章
- 1677: [Usaco2005 Jan]Sumsets 求和
- oracle 关联出现重复数据,ORACLE 分页查询出现重复记录的解决办法
- bzoj1013球形空间
- 导出.txt / .pdf / .xls
- 【Linux】一步一步学Linux——whoami命令(96)
- 【推荐】 女人愁嫁时代终于来临
- java静态变量重复new_Java非静态成员变量之死循环(详解)
- 【LeetCode】Remove Nth Node From End of List
- 跨境商家为什么要建自己的独立站?
- 使用 v-cloak 防止页面加载时出现 vuejs 的变量名
- 【学术杂谈】博士毕业都去哪儿了,谈谈学术的这条路该如何走
- 仿 微信飞机大战项目
- wifi信道12为啥没人用_为什么我的无线路由器没有WIFI信道设置
- ios微信浏览器扫码进入页面加载完成失效
- 同态加密 bootstrapping自举算法
- linux系统网络老掉线,Linux使用ADSL上网时经常掉线
- 《搜索和推荐中的深度匹配》——1.5 近期进展
- Laravel Eloquent If Record Exists
- 这几个UP主真的是宝藏,快来看看有没有你认识的
- java编程cpu选i5还是i7,i5处理器和i7哪个好_i5和i7怎么选择-系统城
热门文章
- 怎样分组教学计算机学生才有兴趣,学生计算机论文,关于如何激发职业中专学生学习计算机的兴趣相关参考文献资料-免费论文范文...
- 开关和灯泡的对应关系
- 转载--html显示当前时间
- Linux shell去除字符串中所有空格
- HDU 1814 Peaceful Commission / HIT 1917 Peaceful Commission /CJOJ 1288 和平委员会(2-sat模板题)...
- Data Warehouse Hardware - DW硬件需求计算
- day12_oracle hint——SQL优化过程中常见Oracle中HINT的30个用法
- Android调试相关的技术常识
- 设计模式-单件模式(Singleton pattern)
- 349. Intersection of Two Arrays 两个数组的交集