题解 | #缺失的第一个正整数#

缺失的第一个正整数

https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5

class Solution:
    def minNumberDisappeared(self, nums: List[int]) -> int:
        nums.sort()
        lastNum = 0
        isFound = False
        for index, item in enumerate(nums):
            if item <= 0:
                continue

            else:
                # 如果數字一樣,那麽跳過,下一輪循環
                if item == lastNum:
                    continue
                # 如果恰好比前面最小的數字大一,標志數就交換到這個數字
                if item - lastNum == 1:
                    lastNum = item
                #     發現數字不止大了1,説明是不連續的數字,那麽直接用標志書+1返回即可
                else:
                    isFound = True
                    lastNum = lastNum + 1
                    break
        
        # 如果當前是否找到的狀態是False,表明已經遍歷到列表的末尾,但是仍然沒有找到未出現的最小正整數,那麽就只有隊尾的數字+1啦
        if not isFound:
            return nums[-1] + 1
        else:
            return lastNum

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务