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

示例 1:

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

示例 2:

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

示例 3:

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

说明:

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

public class Solution {public int firstMissingPositive(int[] nums) {for(int i=0;i<nums.length;i++){while(nums[i]!=i+1){if(nums[i]<=0 ||nums[i]>=nums.length|| nums[i]==nums[nums[i]-1]){break;}int temp = nums[i];nums[i] = nums[nums[i]-1];nums[temp-1] = temp;}}for(int i=0;i<nums.length;i++){if(nums[i]!=i+1)return i+1;}return nums.length+1;}
}

LeetCode 41. 缺失的第一个正数 First Missing Positive相关推荐

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

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

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

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

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

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

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

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

  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-10】448. 找到所有数组中消失的数字 442. 数组中重复的数据(中等) 41. 缺失的第一个正数(困难) [鸽笼原理,数组,Map,类似No.645]

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

  9. 【LeetCode笔记】41. 缺失的第一个正数(Java、哈希)

    文章目录 题目描述 思路 & 代码 题目描述 难点在于时空复杂度的要求 想出最优方法,需要认真理解题目. 思路 & 代码 做法:建立一个逻辑上的哈希表,令 nums[i] = i + ...

最新文章

  1. 如何高效推进ML模型开发和部署?Uber机器学习平台Michelangelo实践
  2. 阿尔伯塔大学博士毕业论文:基于图结构的自然语言处理
  3. ajax返回一直进入error_解决ajax返回验证的时候总是弹出error错误的方法
  4. 微信公众号的分享功能
  5. 七十四、SpringBoot 的数据缓存cache(一)
  6. android 弹窗 onpause,Android 下拉通知栏时Activity的生命周期——重新理解onPause()
  7. FP Growth算法
  8. 数据之路 - Python爬虫 - Scrapy框架
  9. 如何在ppt中打开html,如何在ppt中直接打开网页
  10. 基于神经网络的车牌识别系统
  11. 单细胞测序技术(single cell sequencing)
  12. 99乘法表儿歌_乘法口诀表儿歌
  13. 字符串函数strtolower解析
  14. 2020年中高级Android面试秘籍(Android基础篇)
  15. 【笔记】播放器 - mpv - 使用、配置
  16. 对C语言的关键字及部分关键字用法的简单理解
  17. 什么是去中心化市场(OpenBazaar)
  18. 云原生架构的关键技术
  19. python编译程序输入上网时间并计算上网费用 计算方法_编一应用程序根据上网时间计算上网费用,计算方法如下: 25元基数 ≤10小时 每小时2元 10且≤50小时 每小...
  20. jquery控制页面只刷新一次

热门文章

  1. 同城信息发布小程序开发制作
  2. 广西清华计算机专业兄弟,2017年清华大学清华在广西录取圆满结束
  3. php简单论坛登录注册,php登录注册求救
  4. 计算思维(Computational Thinking)
  5. sequence和sequencer — UVM
  6. swiper 上滑触发_在绝地求生加入滑铲等战术动作会怎么样?你们想过吗?
  7. 道友自诉:入职中软一个月(外包华为)就离职了!
  8. double和float区别
  9. gdal gdal2tiles.py 的使用
  10. Spark入门实战系列--1.Spark及其生态圈简介