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
相关推荐
Salt_07286 分钟前
DAY44 简单 CNN
python·深度学习·神经网络·算法·机器学习·计算机视觉·cnn
货拉拉技术7 分钟前
AI拍货选车,开启拉货新体验
算法
Iridescent11219 分钟前
Iridescent:Day35
python
a程序小傲13 分钟前
阿里Java面试被问:.Java 8中Stream API的常用操作和性能考量
开发语言·windows·python
MobotStone24 分钟前
一夜蒸发1000亿美元后,Google用什么夺回AI王座
算法
Wang2012201328 分钟前
RNN和LSTM对比
人工智能·算法·架构
xueyongfu32 分钟前
从Diffusion到VLA pi0(π0)
人工智能·算法·stable diffusion
智航GIS38 分钟前
2.3 运算符详解
开发语言·python
屋顶那猫39 分钟前
使用pyinstaller打包pytest项目
python·pytest
永远睡不够的入42 分钟前
快排(非递归)和归并的实现
数据结构·算法·深度优先