Study Plan For Algorithms - Part30

1. 0 ~ n-1中缺失的数字

一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0 ~ n-1之内。在范围0 ~ n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。
方法一:

复制代码
def missingNumber(nums):
    i = 0
    j = len(nums) - 1
    while i <= j:
        m = (i + j) // 2
        if nums[m] == m:
            i = m + 1
        else:
            j = m - 1
    return i

方法二:

复制代码
def missingNumber(nums):
    nums.sort()
    for i, num in enumerate(nums):
        if num!= i:
            return i
    return len(nums)

方法三:

复制代码
def missingNumber(nums):
    n = len(nums)
    expected_sum = n * (n + 1) // 2
    actual_sum = sum(nums)
    return expected_sum - actual_sum
相关推荐
2301_764441338 分钟前
Factorization Machine(FM模型,因子分解机)
python·算法
绘梨衣54717 分钟前
豆包Seed PDF解析企业落地方法论
大数据·python·pdf
SilentSamsara18 分钟前
消息队列集成:Python + Kafka/RabbitMQ 生产实践
服务器·开发语言·分布式·python·kafka·rabbitmq
少许极端21 分钟前
算法奇妙屋(五十二)-备战+复习2
java·算法
luj_176821 分钟前
硝酸核关联假说缺乏实验证据
c语言·开发语言·c++·经验分享·算法
zkkkkkkkkkkkkk22 分钟前
python爬虫模拟拖动滑块缺口验证码
爬虫·python·ddddocr
再玩一会儿看代码30 分钟前
Java浅拷贝和深拷贝理解笔记
java·linux·开发语言·笔记·python·学习
fei_sun32 分钟前
【SystemVerilog验证】数据类型(待补充)
数据结构·systemverilog
love530love38 分钟前
【笔记】ComfyUI 源码部署版更新后一键修复:从手动补丁到自动化工作流
运维·人工智能·windows·笔记·python·自动化·comfyui