当前位置: 首页> 房产> 政策 > 建工厂网站的公司_服务网站建设方案_郑州网络营销公司排名_百度浏览器官网下载

建工厂网站的公司_服务网站建设方案_郑州网络营销公司排名_百度浏览器官网下载

时间:2025/8/16 13:24:59来源:https://blog.csdn.net/qq_49288154/article/details/144653343 浏览次数:0次
建工厂网站的公司_服务网站建设方案_郑州网络营销公司排名_百度浏览器官网下载

缺失的第一个正数

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

请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。

示例 1:

输入:nums = [1,2,0]
输出:3
解释:范围 [1,2] 中的数字都在数组中。

示例 2:

输入:nums = [3,4,-1,1]
输出:2
解释:1 在数组中,但 2 没有。

示例 3:

输入:nums = [7,8,9,11,12]
输出:1
解释:最小的正数 1 没有出现。

题解:

​ 这个题目的思路和 寻找重复数 有一点相似,当然那个题目除了只用常量级 O(1) 的额外空间外,还不可以修改 数组,思路就是手搓一个哈希,让各个数字回到自己应该呆的位置

func firstMissingPositive(nums []int) int {for i := 0; i < len(nums); i++ {for nums[i] > 0 && nums[i] <= len(nums) && nums[nums[i]-1] != nums[i] {nums[i], nums[nums[i]-1] = nums[nums[i]-1], nums[i]}}for i := 0; i < len(nums); i++ {if nums[i] != i+1 {return i + 1}}return len(nums) + 1
}
关键字:建工厂网站的公司_服务网站建设方案_郑州网络营销公司排名_百度浏览器官网下载

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: