给定一个未排序的整数数组,找出其中没有出现的最小的正整数。

示例 1:

输入: [1,2,0]
输出: 3
示例 2:

输入: [3,4,-1,1]
输出: 2
示例 3:

输入: [7,8,9,11,12]
输出: 1
说明:

你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。

思路:把数字放到该放的地方。nums[i]=i+1

然后检查哪个数不在即可。

class Solution {public int firstMissingPositive(int[] nums) {if(nums == null || nums.length == 0)return 1;int len = nums.length;for (int i = 0; i < len ; i++)while (nums[i] >0 && nums[i] <= len && nums[i]!=nums[nums[i]-1])swap(nums,i,nums[i]-1);int i = 0;while(i<len && nums[i] == i+1)i++;return i+1;}private void swap(int[] nums,int i, int j){int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}
}

leetcode41 缺失的第一个正数相关推荐

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

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

  2. Leetcode--41. 缺失的第一个正数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. OSChina 周六乱弹 ——生日快乐 @落落酱
  2. IEEE Spectrum调查:AI 的 6 种最坏情况
  3. 点击事件调用匿名函数如何传参_事件发布/订阅模式的简单实现
  4. CodeForces - 1350E Orac and Game of Life(bfs)
  5. 文末送书啦!| Device Mapper,那些你不知道的Docker核心技术
  6. 终于过审了!腾讯给了我20万红包封面,我得发出去。。。
  7. vs 2012打包程序
  8. python连接数据库设置编码_python操作mysql中文显示乱码的解决方法
  9. Vue.use()与Vue.prototype
  10. Larbin学习小结
  11. 凯恩帝1000C语言,数控车床编程实例(KND系统)
  12. linux下virtualbox安装win7虚拟机无法调整分辨率
  13. Javascript ES6集合(SET)类型✪ ω ✪
  14. Nvme pcie有线千兆网卡
  15. python实现矢量分级渲染_PyQGIS开发 -- 聊聊矢量图层渲染(一)
  16. 通往古埃及文明的钥匙 ———— 罗塞塔石碑
  17. ossbrowser
  18. Jupyter Notebook,day1 2019.3.25
  19. Unity自动化碰撞体生成方法-Normal Collider 和 碰撞体代理
  20. Downie4许可证代码 MacOS上最好的在线视频下载工具

热门文章

  1. git add remote_最全的git常用命令(建议收藏)
  2. modem建链过程详述
  3. 下列python语言、返回结果不是uc_MKAN1-UC 5103作业代写、代做Analytics作业、Java,Python,c/c++程序语言作业代做...
  4. inner join 和join的区别_left join、right join和join ???
  5. peoplesoft系统与sap_sap顾问或者peoplesoft顾问转行做自研系统顾问的为什么那么少?...
  6. 【转】1.9 Asp.Net Core 轻松学-多线程之取消令牌(
  7. 【转】刨根究底字符编码之十四——UTF-16究竟是怎么编码的
  8. Dynamics 365 on-premises 安装
  9. CSS块级元素、内联元素概念
  10. Python 数据分析三剑客之 Matplotlib(一):初识 Matplotlib 与其 matplotibrc 配置文件