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
相关推荐
全栈陈序员3 分钟前
【Python】基础语法入门(十七)——文件操作与数据持久化:安全读写本地数据
开发语言·人工智能·python·学习
Solar202520 分钟前
企业数据采集系统的架构设计与工程实践:从数据孤岛到智能决策的破局之道
数据结构
爱笑的眼睛1122 分钟前
FastAPI 路由系统深度探索:超越基础 CRUD 的高级模式与架构实践
java·人工智能·python·ai
地平线开发者39 分钟前
征程 6P/H 计算平台部署指南
算法·自动驾驶
Xの哲學42 分钟前
Linux二层转发: 从数据包到网络之桥的深度解剖
linux·服务器·算法·架构·边缘计算
越甲八千1 小时前
uvicorn是啥
python
Dxy12393102161 小时前
Python字符串处理全攻略
开发语言·python
我也要当昏君2 小时前
计算机组成原理
算法
Fiona-Dong2 小时前
Louvain 算法
python·算法
坐吃山猪2 小时前
BrowserUse14-源码-ScreenShot模块-整理
linux·数据库·python