leedcode-丢失的数字

自己写的,调包排序:

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

 

posted @ 2024-03-26 14:27  Junior_bond  阅读(13)  评论(0)    收藏  举报