LeetCode #41 First Missing Positive

题目

First Missing Positive


解题方法

题意是从1开始按顺序找(1,2,3,...),找到第一个数组中没有的数,返回。

题意要求时间复杂度O(n),空间复杂度O(1),先用python自带的O(logn)的Timsort排序,设置一个missingnum变量,表示从1开始找到的第一个缺失的数。遍历数组,若找到了这个missingnum,就把它+1再继续找,遍历结束后返回missingnum即可。


代码

class Solution:
    def firstMissingPositive(self, nums: List[int]) -> int:
        nums.sort()
        missingnum = 1
        for i in range(len(nums)):
            if nums[i] == missingnum:
                missingnum += 1
        return missingnum
posted @ 2020-10-12 11:33  老鼠司令  阅读(59)  评论(0编辑  收藏  举报