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
相关推荐
智擎GEO4 分钟前
中山GEO优化哪个靠谱
人工智能·python
liliangcsdn6 分钟前
多空价差收益序列汇总统计的分析和代码示例
人工智能·算法·机器学习
for_ever_love__7 分钟前
python爬虫: 数据解析
开发语言·爬虫·python·xpath
啥都想学点的研究生14 分钟前
一篇文章讲清楚:Adaboost算法与GBDT
人工智能·算法
runningshark21 分钟前
CH-6图论基础-有向树
数据结构
AR-26710-22 分钟前
机器学习复习收官Day12
人工智能·python·机器学习·scikit-learn
旖旎夜光23 分钟前
LeetCode 525:连续数组(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和
xzal1224 分钟前
Python之filter()和map()的区别(仅供学习参考)
笔记·python
白狐_79830 分钟前
408 数据结构|双散列与探测覆盖率:互质判断法
数据结构
随遇而安zx39 分钟前
【地基篇】---JVM 类加载 源码解析(基于 Java 8)
java·jvm·python