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
相关推荐
王夏奇15 分钟前
pythonUI界面弹窗设置的几种办法
python·ui
ZhengEnCi29 分钟前
P2B-Python可迭代对象完全指南-从列表到生成器的Python编程利器
python
不爱吃炸鸡柳35 分钟前
单链表专题(完整代码版)
数据结构·算法·链表
CylMK1 小时前
题解:AT_abc382_d [ABC382D] Keep Distance
算法
Dfreedom.1 小时前
计算机视觉全景图
人工智能·算法·计算机视觉·图像算法
萌萌站起1 小时前
Vscode 中 python模块的导入问题
ide·vscode·python
是小蟹呀^1 小时前
【总结】提示词工程
python·llm·prompt·agent
YBAdvanceFu1 小时前
从零构建智能体:深入理解 ReAct Plan Solve Reflection 三大经典范式
人工智能·python·机器学习·数据挖掘·多智能体·智能体
Morwit2 小时前
【力扣hot100】 1. 两数之和
数据结构·c++·算法·leetcode·职场和发展
王夏奇2 小时前
python中的__all__ 具体用法
java·前端·python