题解 | #缺失的第一个正整数#
缺失的第一个正整数
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