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
相关推荐
在世修行2 分钟前
智学文枢:数据管理服务
python·审计日志·pyside·数据清理·孤儿文件
日日大王学编程11 分钟前
DeepSeekHarness开源Agent底座详解
python·开源·deep learning
Eider199825 分钟前
python基础语法之并发基础练习
开发语言·python
长和信泰光伏储能30 分钟前
探索绿色能源:光伏发电的渠道与应用
python·能源
郝学胜-神的一滴32 分钟前
AI 编程智能体 20:技术栈选型与架构落地全攻略
人工智能·python·架构·langchain·1024程序员节·智能体
云和数据.ChenGuang33 分钟前
python和java的try
java·开发语言·python
zwc321043205534 分钟前
第四周第五天——重构成类
c++·人工智能·opencv·算法·计算机视觉
Navigator_Z1 小时前
LeetCode //C - 1311. Get Watched Videos by Your Friends
c语言·算法·leetcode
小小张说故事1 小时前
Python 的 list 为什么能装下任何类型?拆开 PyObject* 数组,以及它让你多付了多少内存
后端·python
chi11301 小时前
【无标题】
前端·javascript·python