探索 LeetCode 第41题:缺失的第一个正数。
嗨,各位代码大侠们!今天我们要一起探讨的是 LeetCode 的第41题——缺失的第一个正数(First Missing Positive)。准备好你的键盘,让我们一起跳进这个充满挑战的算法世界吧!
文章目录
问题描述
给定一个未排序的整数数组 nums,找出其中没有出现的最小的正整数。你的算法需要在 O(n) 的时间复杂度内完成,并且只能使用常数级别的额外空间。
示例1:
输入: [1,2,0]
输出: 3
示例2:
输入: [3,4,-1,1]
输出: 2
示例3:
输入: [7,8,9,11,12]
输出: 1
你或许会觉得:
哇哦,这个题目看起来有点像在找丢失的钥匙——而且是在一大堆看似混乱的钥匙中找出缺失的那一把。那我们该如何找到这把“钥匙”呢?
解题思路
在这道题目里,我们要找的是最小的缺失正整数。考虑到时间复杂度要求为 O(n),我们不能进行排序。那么,