自己写的,调包排序:
from typing import List class Solution: def missingNumber(self, nums: List[int]) -> int: # 将输入的列表排序 nums_new = sorted(nums) # 如果排序后的列表的第一个元素不是0,说明0缺失,直接返回0 if nums_new[0] != 0: return 0 n = len(nums_new) # 如果列表长度为1 if n == 1: # 如果唯一元素是0,则缺失的数是1,否则缺失的数是0 if nums_new[0] == 0: return 1 else: return 0 # 如果列表长度大于1,打印排序后的列表 print(nums_new) i = 0 while True: # 如果当前元素加1等于下一个元素,则继续向后遍历 if nums_new[i] + 1 == nums_new[i + 1]: i += 1 # 如果遍历到倒数第二个元素仍满足条件,则缺失的数为最后一个元素加1 if i > n - 2: return nums_new[-1] + 1 else: # 如果当前元素加1不等于下一个元素,则当前元素加1即为缺失的数 return nums_new[i] + 1
标签:return,数字,nums,元素,leedcode,列表,丢失,new,缺失 From: https://www.cnblogs.com/yyyjw/p/18096606