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 @   Junior_bond  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示