大意:输出数组中未出现过的最小整数

简单思路:

1.排序,然后找到第一个不符合A[i]=i+1的元素即为正确答案。时间:O(nlgn) 额外空间:O(1)

2.一个哈希记录表,将所有出现过的元素记录为true。时间:O(n) 额外空间:O(max(A))

然而题目要求O(n)的时间复杂度和O(1)的空间复杂度,因此比较灵活

思路:

1.将原数组上所有1~len之间的元素放到0~len-1(通过swap)

2.找到第一个i使得A[i]!=i+1,i+1即为正确答案

3.这种思路实际上是利用原数组起到了类似上边2中哈希记录表的作用,不过这种方式非常灵活。

代码如下:

int firstMissingPositive(vector<int>& nums) {for(int i=0; i<nums.size(); ){if(nums[i]==i+1||nums[i]<=0||nums[i]>nums.size())i++;else if(nums[nums[i]-1]!=nums[i]){swap(nums, i, nums[i]-1);}elsei++;}int i;for(i=0; i<nums.size(); i++)if(nums[i]!=i+1)return i+1;return i+1;}void swap(vector<int>& nums, int i, int j){int temp = nums[i];nums[i] = nums[j];nums[j] = temp;}

Leetcode41.First Missing Positive相关推荐

  1. leetcode41. First Missing Positive

    给定一个数组,找出数组中不曾出现的最小正整数. 关键在于需要对原数组进行操作. class Solution:def firstMissingPositive(self, nums):"&q ...

  2. [Swift]LeetCode41. 缺失的第一个正数 | First Missing Positive

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  3. 41-First Missing Positive

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

  4. LeetCode First Missing Positive

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

  5. Lintcode189 First Missing Positive solution 题解

    [题目描述] Given an unsorted integer array, find the first missing positive integer. 给出一个无序的整数数组,找出其中没有出 ...

  6. 41. First Missing Positive

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

  7. leetcode 41. First Missing Positive 1

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

  8. LeetCode题解41.First Missing Positive

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

  9. [LeetCode] First Missing Positive

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

最新文章

  1. 2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计
  2. 真·摸鱼带师!每天工作10分钟年薪57万,这位程序员火了
  3. set class_ x set fid_ x
  4. 宜昌市计算机一级考试真题,2018年上半年湖北省宜昌市计算机等级考试考务通知...
  5. GRTN赋能淘系内容业务的演进路线及未来规划
  6. android+4.4+稳定性,新系统新UI!台电A10h四核安卓4.4.2性能测试
  7. 前端学习(3032):vue+element今日头条管理-反馈
  8. 初中数学抽象教学的案例_初中八年级数学上册教学视频汇总
  9. 安卓 spinner下拉框 做模糊查询_用图表控件做一个简单的员工信息查询系统
  10. Bootstrap CSS 编码规范之媒体查询的位置
  11. JavaScript 框架这一年:React、Angular 们正在互相渗透
  12. Element Ui 关闭对话框清空验证消息,清除form表单的操作
  13. 快速排序 与 归并排序
  14. mysql not in性能分析_SQL 中的 in 与 not in、exists 与 not exists 的区别以及性能分析...
  15. [SDOI2009] HH去散步 (矩阵乘法)
  16. mysql拼接字符串
  17. 基于java的校园兼职管理系统_基于JAVA WEB的大学生兼职管理系统的分析与设计
  18. 博弈论入门——威佐夫博弈
  19. 鼠标划过显示鼠标移出隐藏效果
  20. TCP连接建立三握手

热门文章

  1. 服务器信号有杂音怎么回事,直播有杂音是怎么回事?奉上原因及解决方法
  2. JZOJ6362. 【NOIP2019模拟2019.9.18】数星星(star)
  3. mysql 小版本直接升级
  4. 计算KS值的标准代码
  5. 去除字符串前面的几个逗号
  6. MySQL中如何定义一个自己写的函数
  7. C#基于开源地图GMap的开发示例
  8. 快速排序算法(图解+代码)
  9. 关于Java位运算里的“按位异或”
  10. 攻防世界 web webshell