题目英文

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实战:缺失的第一个正数相关推荐

  1. Java实现 LeetCode 41 缺失的第一个正数

    41. 缺失的第一个正数 给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: ...

  2. LeetCode 41. 缺失的第一个正数

    文章目录 1. 题目信息 2. 思路 3. 代码 1. 题目信息 给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1:输入: [1,2,0] 输出: 3 示例 2:输入: [3,4, ...

  3. leetcode —— 41. 缺失的第一个正数

    给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 解题思路: 判断数组中是否存在1,如果没有1则直接返回1,结束: 如果数组长度为1,同时 ...

  4. LeetCode 41. 缺失的第一个正数 First Missing Positive

    给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11 ...

  5. Leetcode 40组合总数(回溯)Ⅱ41缺失的第一个正数42接雨水

    维护公众号:bigsai ,回复进群加入打卡,回复bigsai分享一些学习资源! 上周第一次 LeetCode 36有效的数独&37解数独(八皇后问题) 上周第二次 LeetCode 38外观 ...

  6. Leetcode算法Java全解答--41. 缺失的第一个正数

    Leetcode算法Java全解答–41. 缺失的第一个正数 文章目录 Leetcode算法Java全解答--41. 缺失的第一个正数 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 ...

  7. 41. 缺失的第一个正数 golang

    41. 缺失的第一个正数 给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3 ...

  8. LeetCode--41.缺失的第一个正数(C)

    缺失的第一个正数(C) 1. 题目描述 2. 题目分析 3. C语言实现 3.1 申请额外空间实现 3.2 原数组实现 1. 题目描述 难度:困难 2. 题目分析 这道题本质上是很简单的,但是加上了这 ...

  9. 努力前端【LeetCode-10】448. 找到所有数组中消失的数字 442. 数组中重复的数据(中等) 41. 缺失的第一个正数(困难) [鸽笼原理,数组,Map,类似No.645]

    文章目录 题目描述-448 一.哈希Map 二.空间复杂度的优化--鸽笼原理 三.总结 题目描述-442 一.还是hashMap 二.继续鸽笼原理 题目描述-41 一.基础方案 二.数组模拟Map 题 ...

最新文章

  1. python开发框架 代码生成_我的第一个python web开发框架(28)——定制ORM(四)...
  2. 【OpenCV3】cv::convertScaleAbs()使用详解
  3. html入门学习(二)
  4. Springmvc入门案例(1)
  5. SVN:请求不到主机,应该如何解决?
  6. System 类 和 Runtime 类的常用用法
  7. 泡泡提示加强版 完美支持XHTML(JavaScript)--zhuan
  8. 查看linux中某个端口(port)是否被占用***
  9. 【Java必备技能一】支付宝手机网站支付对接
  10. Linux 完全卸载 MySQL
  11. CSS3过渡详解-遁地龙卷风
  12. Lync Server 2010下载拓扑报错分析及解决方法分享
  13. 做在线交易你必须知道的关于支付的知识
  14. Element message同时出现多个提示框,通过css样式解决
  15. 2022智源大会议程公开 | 青源学术年会
  16. 摩斯代码在线html,HTML5 摩斯(Morse)电码生成器
  17. QDockWidget增加边框
  18. 安装Office 2016 出现 Office 16 Click-to-Run Extensibility Component
  19. Office2016安装报错:1935安装程序集组件发生错误
  20. 关于Celeba人脸数据集的介绍

热门文章

  1. 魅族手机使用鸿蒙系统,魅族宣布接入华为鸿蒙系统,这应该是黄章最正确的决定...
  2. 入链、出链、反向链接、内链、外链的关系
  3. 适合初学者学java技术的书籍推荐!
  4. 在实践中我遇到stompjs, websocket和nginx的问题与总结
  5. 日志分析工具splunt
  6. 解析大型.NET ERP系统 多国语言实现
  7. Android获取内部和SDCard的存储空间
  8. 本地连接受限制或无法连接怎么办?
  9. 关于正则表达式 g,m 参数的总结,为了回答“正则表达式(/[^0-9]/g,'')中的/g是什么意思?”...
  10. 理解java虚拟机工作后了解吗,【深入理解JAVA虚拟机】第4部分.程序编译与代码优化.2.运行期优化。这章提到的具体的优化技术,应该对以后做性能工作会有帮助。...