LeetCode实战:缺失的第一个正数
题目英文
Given an unsorted integer array, find the smallest missing positive integer.
Example 1:
Input: [1,2,0]
Output: 3
Example 2:
Input: [3,4,-1,1]
Output: 2
Example 3:
Input: [7,8,9,11,12]
Output: 1
Note:
Your algorithm should run in O(n) time and uses constant extra space.
题目中文
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。
示例1:
输入: [1,2,0]
输出: 3
示例2:
输入: [3,4,-1,1]
输出: 2
示例3:
输入: [7,8,9,11,12]
输出: 1
示例4:
输入: [1,1]
输出: 2
实例5:
输入: []
输出: 1
说明:
你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。
算法实现
// 把数组进行一次“排序”,
// “排序”的规则是:如果这个数字 i 落在“区间范围里”,i 就应该放在索引为 i - 1 的位置上。
public class Solution {public int FirstMissingPositive(int[] nums) {int len = nums.Length;for (int i = 0; i < len; i++){while (nums[i] != i + 1 && nums[i] <= len && nums[i] > 0 && nums[i] != nums[nums[i] - 1]){int temp = nums[i];nums[i] = nums[temp - 1];nums[temp - 1] = temp;}}for (int i = 0; i < len; i++){if (nums[i] != i + 1){return i + 1;}}return len + 1; //nums.Length = 0 }
}
实验结果
- 状态:通过
- 165 / 165 个通过测试用例
- 执行用时:132 ms
相关图文:
- LeetCode实战:删除链表的倒数第N个节点
- LeetCode实战:合并两个有序链表
- LeetCode实战:两两交换链表中的节点
- LeetCode实战:旋转链表
- LeetCode实战:相同的树
- LeetCode实战:对称二叉树
- LeetCode实战:二叉树的最大深度
- LeetCode实战:搜索二维矩阵
- LeetCode实战:将有序数组转换为二叉搜索树
- 资料分享:数学建模资料分享 – 图论部分
- 资料分享:数学建模资料分享 – 神经网络部分
- 如何利用 C# 实现 K 最邻近算法?
- 如何利用 C# 实现 K-D Tree 结构?
- 如何利用 C# + KDTree 实现 K 最邻近算法?
- 如何利用 C# 对神经网络模型进行抽象?
- 如何利用 C# 实现神经网络的感知器模型?
- 如何利用 C# 实现 Delta 学习规则?
- 如何利用 C# 实现 误差反向传播 学习规则?
- 如何利用 C# 爬取带 Token 验证的网站数据?
- 如何利用 C# 向 Access 数据库插入大量数据?
- 如何利用 C# + Python 破解猫眼电影的反爬虫机制?
LeetCode实战:缺失的第一个正数相关推荐
- Java实现 LeetCode 41 缺失的第一个正数
41. 缺失的第一个正数 给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: ...
- LeetCode 41. 缺失的第一个正数
文章目录 1. 题目信息 2. 思路 3. 代码 1. 题目信息 给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1:输入: [1,2,0] 输出: 3 示例 2:输入: [3,4, ...
- leetcode —— 41. 缺失的第一个正数
给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 解题思路: 判断数组中是否存在1,如果没有1则直接返回1,结束: 如果数组长度为1,同时 ...
- LeetCode 41. 缺失的第一个正数 First Missing Positive
给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11 ...
- Leetcode 40组合总数(回溯)Ⅱ41缺失的第一个正数42接雨水
维护公众号:bigsai ,回复进群加入打卡,回复bigsai分享一些学习资源! 上周第一次 LeetCode 36有效的数独&37解数独(八皇后问题) 上周第二次 LeetCode 38外观 ...
- Leetcode算法Java全解答--41. 缺失的第一个正数
Leetcode算法Java全解答–41. 缺失的第一个正数 文章目录 Leetcode算法Java全解答--41. 缺失的第一个正数 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 ...
- 41. 缺失的第一个正数 golang
41. 缺失的第一个正数 给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3 ...
- LeetCode--41.缺失的第一个正数(C)
缺失的第一个正数(C) 1. 题目描述 2. 题目分析 3. C语言实现 3.1 申请额外空间实现 3.2 原数组实现 1. 题目描述 难度:困难 2. 题目分析 这道题本质上是很简单的,但是加上了这 ...
- 努力前端【LeetCode-10】448. 找到所有数组中消失的数字 442. 数组中重复的数据(中等) 41. 缺失的第一个正数(困难) [鸽笼原理,数组,Map,类似No.645]
文章目录 题目描述-448 一.哈希Map 二.空间复杂度的优化--鸽笼原理 三.总结 题目描述-442 一.还是hashMap 二.继续鸽笼原理 题目描述-41 一.基础方案 二.数组模拟Map 题 ...
最新文章
- python开发框架 代码生成_我的第一个python web开发框架(28)——定制ORM(四)...
- 【OpenCV3】cv::convertScaleAbs()使用详解
- html入门学习(二)
- Springmvc入门案例(1)
- SVN:请求不到主机,应该如何解决?
- System 类 和 Runtime 类的常用用法
- 泡泡提示加强版 完美支持XHTML(JavaScript)--zhuan
- 查看linux中某个端口(port)是否被占用***
- 【Java必备技能一】支付宝手机网站支付对接
- Linux 完全卸载 MySQL
- CSS3过渡详解-遁地龙卷风
- Lync Server 2010下载拓扑报错分析及解决方法分享
- 做在线交易你必须知道的关于支付的知识
- Element message同时出现多个提示框,通过css样式解决
- 2022智源大会议程公开 | 青源学术年会
- 摩斯代码在线html,HTML5 摩斯(Morse)电码生成器
- QDockWidget增加边框
- 安装Office 2016 出现 Office 16 Click-to-Run Extensibility Component
- Office2016安装报错:1935安装程序集组件发生错误
- 关于Celeba人脸数据集的介绍
热门文章
- 魅族手机使用鸿蒙系统,魅族宣布接入华为鸿蒙系统,这应该是黄章最正确的决定...
- 入链、出链、反向链接、内链、外链的关系
- 适合初学者学java技术的书籍推荐!
- 在实践中我遇到stompjs, websocket和nginx的问题与总结
- 日志分析工具splunt
- 解析大型.NET ERP系统 多国语言实现
- Android获取内部和SDCard的存储空间
- 本地连接受限制或无法连接怎么办?
- 关于正则表达式 g,m 参数的总结,为了回答“正则表达式(/[^0-9]/g,'')中的/g是什么意思?”...
- 理解java虚拟机工作后了解吗,【深入理解JAVA虚拟机】第4部分.程序编译与代码优化.2.运行期优化。这章提到的具体的优化技术,应该对以后做性能工作会有帮助。...