缺失的第一个正整数golang版本
2023-08-20
1分钟阅读时长
缺失的第一个正整数
func firstMissingPositive(nums []int) int {
n := len(nums)
for i := 0; i < n; i++ {
for 0 < nums[i] && nums[i] <= n && nums[nums[i]-1] != nums[i] {
nums[nums[i]-1], nums[i] = nums[i], nums[nums[i]-1]
}
}
for i := 0; i < n; i++ {
if nums[i] != i+1 {
return i + 1
}
}
return n + 1
}