41. 缺失的第一个正数

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

示例 1:

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

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

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

Code

双百解法!这个题据说今日头条出过,注意最优解是让切片自己成为hash。记住这种思想很重要

func firstMissingPositive(nums []int) int {// 如果只有1就返回2if len(nums) == 1 {if nums[0] == 1 {return 2} else {return 1}}// 如果没有1返回1成功var flag_one intfor _, v := range nums {if v == 1 {flag_one = 1}}if flag_one == 0{return 1}// 把所有的负数和大于n的数字置1for k, v := range nums {if v <= 0{nums[k] = 1}if v > len(nums) {nums[k] = 1}}// 把所有的出现数字中对应的value值乘以-1,代表这个数字出现了for _, v := range nums {if int(math.Abs(float64(v))) == len(nums) {nums[0] = int(math.Abs(float64(v)))} else if nums[int(math.Abs(float64(v)))] > 0 {nums[int(math.Abs(float64(v)))] *= -1if nums[0] < int(math.Abs(float64(v))) {nums[0] = int(math.Abs(float64(v)))}}}// 返回结果for i:=1; i<len(nums); i++ {if nums[i] > 0 {return i}}return nums[0] + 1
}作者:HodgeKou
链接:https://leetcode-cn.com/problems/first-missing-positive/solution/go-shuang-bai-jie-fa-o1-on-by-hodgekou/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

41. 缺失的第一个正数 golang相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 41,缺失的第一个正数

    解题思路 一,暴力肯定不可取,时间要O(n^2) 二,sort一遍也不行,空间要O(n) 三,时间要O(n),空间常数,只能找方法. 可以想到,如果每个数字刚好对应那个 空间地址(nums[i]==i ...

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

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

  8. letcode 41. 缺失的第一个正数

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

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

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

最新文章

  1. ArcGIS问题:如何定义坐标系
  2. 【详解】某企业的培训关系模式 R(培训科目,培训师,学生,成绩,时间,教室), R的函数依赖集 F={培训科目→→培训师,(学生,培训科目)→成绩,(时间,教室)→培训科目,(时间,培训师)→
  3. 【计蒜客 - 蓝桥训练】轻重搭配(贪心,STLset 或 二分)
  4. [3.30校内训练赛]
  5. Oracle对表空间、用户、用户权限的操作
  6. 国家网信办:掌握超过100万用户个人信息运营者赴国外上市需申报审查
  7. Python使用numpy滤除图像中的低频信号
  8. 查找交换机某端口连接的主机IP地址
  9. Leap抓取物体,在自带案例的基础上修改
  10. jmeter性能测试~Beanshell
  11. PSX 610G 使用说明书
  12. Coinbase、BlockFi相继开启上市准备工作,但SEC准备好了吗?
  13. 学校计算机室如何连接热点,电脑连热点怎么操作
  14. 【过关斩将】小伙子,请做一下自我介绍?
  15. 计算机专业秃顶图片,大学被叫惨的三大专业,计算机秃顶是常事,医学专业这个就惨了...
  16. 电脑计算机怎么没有桌面显示,登陆qq后电脑桌面没有显示怎么做
  17. MongoDB操作内嵌文档
  18. RemoteViews讲解
  19. String类中方法详细讲解
  20. 新人培训,前期重点考核项

热门文章

  1. Bootstrap中的下拉列表
  2. tooltip.css-2.0文档
  3. 微信小程序开发——点击按钮退出小程序的实现
  4. ASP.NET Core2.0 环境下MVC模式的支付宝PC网站支付接口-沙箱环境开发测试
  5. hiho1257 Snake Carpet
  6. 一天一道算法题--6.15--卡特兰数
  7. maya崩溃自动保存路径_maya 使用swig将插件编译成pyd,无缝使用内置数据实现加速计算模块...
  8. js实现html模板继承,理解JavaScript中的原型和继承
  9. 判断按键值_「正点原子NANO STM32开发板资料连载」第十六章电容触摸按键实验...
  10. mysql 10个日期,MySQL自学篇(10)——日期函数