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
相关推荐
devilnumber13 小时前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
大貔貅喝啤酒13 小时前
Python Requests库教程
自动化测试·python·requests库
copyer_xyf14 小时前
LangChain 调用 LLM
后端·python·agent
copyer_xyf14 小时前
Prompt 组织管理
后端·python·agent
‎ദ്ദിᵔ.˛.ᵔ₎14 小时前
双指针、滑动窗口、前缀和、二分查找 算法
算法
shimly12345615 小时前
python3 uvicorn 是啥?
python
顾北顾15 小时前
多头注意力机制
人工智能·深度学习·算法
H1785350909615 小时前
SolidWorks_基于草图的实体特征20_特征错误排查
算法·3d建模·solidworks
hujinyuan2016015 小时前
2025年12月中国电子学会青少年机器人技术等级考试试卷(二级) 真题+答案
人工智能·算法·机器人
CTA量化套保15 小时前
期货量化程序 time.sleep 卡死:天勤单线程与 deadline 替代
python·区块链