every blog every motto: You will never know unless you try
0. 前言
无
1. 正文
1.1 题目
1.2 题解
python:
class Solution:
def firstMissingPositive(self, nums: List[int]) -> int:
# 方法1
n = len(nums)
# 小于0的全部替换为1
for i in range(n):
if nums[i]<=0:
nums[i] = n+1
# 值对应的索引替换为负数
for i in range(n):
target_index = abs(nums[i])-1
if target_index<=n-1:
nums[target_index] = -abs(nums[target_index])
# 寻找正数
for i in range(n):
if nums[i]>0:
return i+1
return n+1