Menu
CoddyTech

First Missing Positive

给你一个未排序的整数数组 nums。返回 nums 中没有出现的最小正整数(大于或等于 1)。数组中可能包含负数、零、重复值,以及远大于数组长度的值。

函数

firstMissingPositive(nums: integer-array) → integer
numsinteger-array
未排序的整数,这些整数可能重复,也可能是负数、零或非常大的数
返回值integer
nums 中缺失的最小正整数

约束条件

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • 这些值没有特定顺序,也可能重复。

示例

输入
nums = [5, -2, 1, 3, 2, 9]
输出
4
解释
1、2 和 3 都在数组中,而 4 不在,所以答案是 4。只要缺少一个更小的值,5 和 9 就不重要了。
challenge icon

进阶

你能否只使用 O(n) 时间和 O(1) 额外空间找到答案?

重置代码
def firstMissingPositive(nums):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

nums = [5, -2, 1, 3, 2, 9]

预期输出

4