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
相关推荐
leaves falling2 分钟前
BC68 X形图案
数据结构·算法
yayatiantian_20222 分钟前
Ubuntu 24.04 安装与配置 pyenv
linux·运维·python·ubuntu·pyenv
Lun3866buzha4 分钟前
【机场目标检测】基于YOLOv26的飞机目标检测算法实现_1
算法·yolo·目标检测
Q741_1477 分钟前
C++ 优先级队列 大小堆 模拟 力扣 1046. 最后一块石头的重量 每日一题
开发语言·c++·算法·leetcode·优先级队列·
blazeDP12 分钟前
洛谷P7224 [RC-04] 子集积解析
算法·深度优先·图论
June bug16 分钟前
【python基础】常见的数据结构的遍历
开发语言·数据结构·python
深蓝电商API26 分钟前
Selenium Grid分布式执行爬虫任务
爬虫·python·selenium
Anastasiozzzz29 分钟前
常见限流算法--【令牌桶】【漏桶】【固定窗口】【滑动窗口】
java·redis·后端·算法·面试
凯酱33 分钟前
Java8 遍历List 使用stream().parallel()并发安全
数据结构·windows·list