Python的第一个失误
为了解决这个问题,我们将遵循以下步骤-
设置i:=0并通过在所有数字之前加一个0来更新数组nums
对于范围从0到nums的i
nums[nums[i]]:=nums[i]
nums[i]:=nums[nums[i]]
而nums[i]>=0且nums[i]<nums的长度和nums[nums[i]]不是nums[i]-
num:=1
对于范围从1到nums的i
如果num=nums[i],则将num加1
返回数字
示例
让我们看下面的实现以更好地理解-
class Solution(object):
def firstMissingPositive(self, nums):
i = 0
nums = [0] + nums
for i in range(len(nums)):
while nums[i]>=0 and nums[i]<len(nums) and nums[nums[i]]!=nums[i]:
nums[nums[i]],nums[i] = nums[i],nums[nums[i]]
num = 1
for i in range(1,len(nums)):
if num == nums[i]:
num+=1
return num
ob = Solution()print(ob.firstMissingPositive([4,-3,1,-1]))输入项
[4,-3,1,-1]
输出结果
2
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西