【排序+难题】LeetCode 41. First Missing Positive
LeetCode 41. First Missing Positive
本博客转载自:[1]http://www.cnblogs.com/grandyang/p/4395963.html
[2]https://www.cnblogs.com/clnchanpin/p/6727065.html
各种排序算法总结链接:https://blog.csdn.net/allenlzcoder/article/details/79814453
【解题核心思想】:将数组的第i位存正数i+1。最后再遍历一次就可以。
思路:交换数组元素。使得数组中第i位存放数值(i+1)。
最后遍历数组,寻找第一个不符合此要求的元素,返回其下标。整个过程须要遍历两次数组,复杂度为O(n)。
下图以题目中给出的第二个样例为例,解说操作过程。
首先思路上,其次临界条件,这题和以下题异曲同工:
n个元素的数组,里面的数都是0~n-1范围内的,求数组中反复的某一个元素。没有返回-1, 要求时间性能O(n) 空间性能O(1)。
class Solution {//桶排序
public:int firstMissingPositive(vector<int>& nums) {int n = nums.size();//第i位存放i+1的数值for (int i = 0; i < n; ++i) {//nums[i]为正数,放在i+1位置//假设交换的数据还是大于0且<=n,则放在合适的位置,且数据不相等,避免死循环while (nums[i] > 0 && nums[i] <= n && nums[nums[i] - 1] != nums[i]) {swap(nums[i], nums[nums[i] - 1]);//为毛这么换,理解的还是不是很透彻啊~~~}}//循环寻找不符合要求的数据,返回for (int i = 0; i < n; ++i) {if (nums[i] != i + 1) return i + 1;}//假设都符合要求,则返回长度+1的值return n + 1;}
};
【排序+难题】LeetCode 41. First Missing Positive相关推荐
- [LeetCode]41.First Missing Positive
[题目] Given an unsorted integer array, find the first missing positive integer. For example, Given [1 ...
- leetcode 41. First Missing Positive 1
题目要求 Given an unsorted integer array, find the first missing positive integer.For example, Given [1, ...
- leetCode 41.First Missing Positive (第一个丢失的正数) 解题思路和方法
First Missing Positive Given an unsorted integer array, find the first missing positive integer. For ...
- [leetcode]41. First Missing Positive
题目地址 https://leetcode.com/problems/first-missing-positive/ 题目大意 一个整数数组,里面数字是无序的,在O(n)的时间复杂度,O(1)的空间复 ...
- leetcode 41. First Missing Positive
https://www.cnblogs.com/grandyang/p/4395963.html https://www.jianshu.com/p/cf82ce91dc3d 错误解法1: [1,1] ...
- LeetCode题解41.First Missing Positive
41. First Missing Positive Given an unsorted integer array, find the first missing positive integer. ...
- LeetCode 41. First Missing Positive--Python 解法--数学题-找到不存在的最小正整数-O(1)空间复杂度
题目地址:First Missing Positive - LeetCode Given an unsorted integer array, find the smallest missing po ...
- 41. First Missing Positive
题目: Given an unsorted integer array, find the first missing positive integer. For example, Given [1, ...
- 【leetcode】First Missing Positive(hard) ☆
Given an unsorted integer array, find the first missing positive integer. For example, Given [1,2,0] ...
最新文章
- python 中 is 与 == 的区别
- SAP WM中阶之LT25确认Group中的TO单据
- 没有统计学基础可以学python-统计学专业应该学Java还是Python?
- 架构师书单 2nd Edition
- dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
- 鸿蒙系统电视k歌,华为电视怎么k歌?看完两分钟快速开启K歌模式
- Codeforces 427 D. Match amp; Catch
- Css标题中图片居中,图片居中:任意图片在div里的上下垂直都居中!
- [专栏精选]Unity中编码Encoding脱坑指南
- python rpy2后封装_转换rpy2的python对象
- thinkphp事务处理以及无效时的解决方案(整理)
- windows 系统文件 —— 特殊文件及文件类型
- Edraw Office Viewer Component Crack
- 在飞桨平台做图像分类-1 制作基于飞桨的数据集|CSDN创作打卡
- 如何解决端口冲突的问题???
- 七、常用类(高琪java300集+java从入门到精通笔记)
- 两台计算机上用网线共享打印机共享,怎么将打印机共享两台计算机用一根网线,其中一台有打...
- 【学术相关】博士开始内卷了吗?
- Zotero:如何定制参考文献样式——以《世界经济》中文期刊为例
- CPU后面字母究竟是啥?
热门文章
- Ubuntu18.04及以上设备安装CUDA,CUDNN,Anaconda亲测方法
- Ecipse:calculating requirements and dependencies(长时间阻塞问题)
- C++标准库:bitset 用法整理 (来自网易 happyboy200032的博客)
- (二)设置hexo支持mermaid
- python在哪个方向岗位最多_Python就业方向这么多,哪些岗位最有发展?
- linux服务器连接中文,Linux系统遇到SecureCRT连接到linux服务器之后出现乱码问题
- java泛型范围_Java泛型范围
- jackson java反序列化_使用Jackson JSON映射器序列化/反序列化java 8 java.time
- java初学者书籍_面向初学者的5本最佳Java核心书籍
- sql exists_SQL Exists运算符–终极指南