41. 缺失的第一个正数 golang
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相关推荐
- Leetcode 40组合总数(回溯)Ⅱ41缺失的第一个正数42接雨水
维护公众号:bigsai ,回复进群加入打卡,回复bigsai分享一些学习资源! 上周第一次 LeetCode 36有效的数独&37解数独(八皇后问题) 上周第二次 LeetCode 38外观 ...
- Java实现 LeetCode 41 缺失的第一个正数
41. 缺失的第一个正数 给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: ...
- Leetcode算法Java全解答--41. 缺失的第一个正数
Leetcode算法Java全解答–41. 缺失的第一个正数 文章目录 Leetcode算法Java全解答--41. 缺失的第一个正数 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 ...
- 努力前端【LeetCode-10】448. 找到所有数组中消失的数字 442. 数组中重复的数据(中等) 41. 缺失的第一个正数(困难) [鸽笼原理,数组,Map,类似No.645]
文章目录 题目描述-448 一.哈希Map 二.空间复杂度的优化--鸽笼原理 三.总结 题目描述-442 一.还是hashMap 二.继续鸽笼原理 题目描述-41 一.基础方案 二.数组模拟Map 题 ...
- 【LeetCode笔记】41. 缺失的第一个正数(Java、哈希)
文章目录 题目描述 思路 & 代码 题目描述 难点在于时空复杂度的要求 想出最优方法,需要认真理解题目. 思路 & 代码 做法:建立一个逻辑上的哈希表,令 nums[i] = i + ...
- 41,缺失的第一个正数
解题思路 一,暴力肯定不可取,时间要O(n^2) 二,sort一遍也不行,空间要O(n) 三,时间要O(n),空间常数,只能找方法. 可以想到,如果每个数字刚好对应那个 空间地址(nums[i]==i ...
- leetcode —— 41. 缺失的第一个正数
给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 解题思路: 判断数组中是否存在1,如果没有1则直接返回1,结束: 如果数组长度为1,同时 ...
- letcode 41. 缺失的第一个正数
给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9, ...
- LeetCode 41. 缺失的第一个正数
文章目录 1. 题目信息 2. 思路 3. 代码 1. 题目信息 给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1:输入: [1,2,0] 输出: 3 示例 2:输入: [3,4, ...
最新文章
- ArcGIS问题:如何定义坐标系
- 【详解】某企业的培训关系模式 R(培训科目,培训师,学生,成绩,时间,教室), R的函数依赖集 F={培训科目→→培训师,(学生,培训科目)→成绩,(时间,教室)→培训科目,(时间,培训师)→
- 【计蒜客 - 蓝桥训练】轻重搭配(贪心,STLset 或 二分)
- [3.30校内训练赛]
- Oracle对表空间、用户、用户权限的操作
- 国家网信办:掌握超过100万用户个人信息运营者赴国外上市需申报审查
- Python使用numpy滤除图像中的低频信号
- 查找交换机某端口连接的主机IP地址
- Leap抓取物体,在自带案例的基础上修改
- jmeter性能测试~Beanshell
- PSX 610G 使用说明书
- Coinbase、BlockFi相继开启上市准备工作,但SEC准备好了吗?
- 学校计算机室如何连接热点,电脑连热点怎么操作
- 【过关斩将】小伙子,请做一下自我介绍?
- 计算机专业秃顶图片,大学被叫惨的三大专业,计算机秃顶是常事,医学专业这个就惨了...
- 电脑计算机怎么没有桌面显示,登陆qq后电脑桌面没有显示怎么做
- MongoDB操作内嵌文档
- RemoteViews讲解
- String类中方法详细讲解
- 新人培训,前期重点考核项
热门文章
- Bootstrap中的下拉列表
- tooltip.css-2.0文档
- 微信小程序开发——点击按钮退出小程序的实现
- ASP.NET Core2.0 环境下MVC模式的支付宝PC网站支付接口-沙箱环境开发测试
- hiho1257 Snake Carpet
- 一天一道算法题--6.15--卡特兰数
- maya崩溃自动保存路径_maya 使用swig将插件编译成pyd,无缝使用内置数据实现加速计算模块...
- js实现html模板继承,理解JavaScript中的原型和继承
- 判断按键值_「正点原子NANO STM32开发板资料连载」第十六章电容触摸按键实验...
- mysql 10个日期,MySQL自学篇(10)——日期函数