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相关推荐

  1. [LeetCode]41.First Missing Positive

    [题目] Given an unsorted integer array, find the first missing positive integer. For example, Given [1 ...

  2. leetcode 41. First Missing Positive 1

    题目要求 Given an unsorted integer array, find the first missing positive integer.For example, Given [1, ...

  3. leetCode 41.First Missing Positive (第一个丢失的正数) 解题思路和方法

    First Missing Positive Given an unsorted integer array, find the first missing positive integer. For ...

  4. [leetcode]41. First Missing Positive

    题目地址 https://leetcode.com/problems/first-missing-positive/ 题目大意 一个整数数组,里面数字是无序的,在O(n)的时间复杂度,O(1)的空间复 ...

  5. leetcode 41. First Missing Positive

    https://www.cnblogs.com/grandyang/p/4395963.html https://www.jianshu.com/p/cf82ce91dc3d 错误解法1: [1,1] ...

  6. LeetCode题解41.First Missing Positive

    41. First Missing Positive Given an unsorted integer array, find the first missing positive integer. ...

  7. LeetCode 41. First Missing Positive--Python 解法--数学题-找到不存在的最小正整数-O(1)空间复杂度

    题目地址:First Missing Positive - LeetCode Given an unsorted integer array, find the smallest missing po ...

  8. 41. First Missing Positive

    题目: Given an unsorted integer array, find the first missing positive integer. For example, Given [1, ...

  9. 【leetcode】First Missing Positive(hard) ☆

    Given an unsorted integer array, find the first missing positive integer. For example, Given [1,2,0] ...

最新文章

  1. python 中 is 与 == 的区别
  2. SAP WM中阶之LT25确认Group中的TO单据
  3. 没有统计学基础可以学python-统计学专业应该学Java还是Python?
  4. 架构师书单 2nd Edition
  5. dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
  6. 鸿蒙系统电视k歌,华为电视怎么k歌?看完两分钟快速开启K歌模式
  7. Codeforces 427 D. Match amp; Catch
  8. Css标题中图片居中,图片居中:任意图片在div里的上下垂直都居中!
  9. [专栏精选]Unity中编码Encoding脱坑指南
  10. python rpy2后封装_转换rpy2的python对象
  11. thinkphp事务处理以及无效时的解决方案(整理)
  12. windows 系统文件 —— 特殊文件及文件类型
  13. Edraw Office Viewer Component Crack
  14. 在飞桨平台做图像分类-1 制作基于飞桨的数据集|CSDN创作打卡
  15. 如何解决端口冲突的问题???
  16. 七、常用类(高琪java300集+java从入门到精通笔记)
  17. 两台计算机上用网线共享打印机共享,怎么将打印机共享两台计算机用一根网线,其中一台有打...
  18. 【学术相关】博士开始内卷了吗?
  19. Zotero:如何定制参考文献样式——以《世界经济》中文期刊为例
  20. CPU后面字母究竟是啥?

热门文章

  1. Ubuntu18.04及以上设备安装CUDA,CUDNN,Anaconda亲测方法
  2. Ecipse:calculating requirements and dependencies(长时间阻塞问题)
  3. C++标准库:bitset 用法整理 (来自网易 happyboy200032的博客)
  4. (二)设置hexo支持mermaid
  5. python在哪个方向岗位最多_Python就业方向这么多,哪些岗位最有发展?
  6. linux服务器连接中文,Linux系统遇到SecureCRT连接到linux服务器之后出现乱码问题
  7. java泛型范围_Java泛型范围
  8. jackson java反序列化_使用Jackson JSON映射器序列化/反序列化java 8 java.time
  9. java初学者书籍_面向初学者的5本最佳Java核心书籍
  10. sql exists_SQL Exists运算符–终极指南