本文共 952 字,大约阅读时间需要 3 分钟。
分析一下:因为是最小的整数,
反正是从1,2,3。。。。开始的。 那就把每一个数,给到他们自己的位置,比如说【3,4,-1,1】 把所有的数都放到位置:变成【1,-1,3,4】 那就能找到 那个-1的位置了。 因为要常数空间,那估计的言外之意就是,交换swap。class Solution: def firstMissingPositive(self, nums): """ :type nums: List[int] :rtype: int """ length = len(nums) for i in range(length): if nums[i] > length: continue index = nums[i]-1 while nums[i] > 0 and index < length and nums[i] != nums[index]: nums[i],nums[index] = nums[index],nums[i] index = nums[i] - 1 for m in range(length): if nums[m] != m +1: return m +1 return length+1