class Solution:
def firstMissingPositive(self, nums: List[int]) -> int:
length = len(nums)
for i in range(length):
while 0 < nums[i] <= length and (nums[i] != nums[nums[i] - 1]): #不能直接用index,使用的话会导致判断错误,index并不是value,还是应该使用值
self.__exchange(nums , i ,nums[i] - 1) #需要使用函数来把索引的值固化,否则直接用容易出错
for i in range(length):
if nums[i] != i + 1:
return i + 1
return length+1
def __exchange(self , nums , index1 , index2):
nums[index1], nums[index2] = nums[index2], nums[index1]
leetcode刷题python之缺失的第一个正数
最新推荐文章于 2023-12-01 10:00:00 发布