当前位置: 面试刷题>> 寻找缺失的数 (经典算法题500道)


题目描述补充

题目:寻找缺失的数

在一个包含0到n(n >= 0)的所有整数的数组中,除了一个数被替换成了另一个不在范围内的数之外,其余所有数都恰好出现一次。请编写一个函数来找出这个被替换(或缺失)的数。

示例 1:

输入: nums = [0, 1, 2, 3, 4, 5, 6, 8] (注意:这里7被替换成了8)
输出: 7

示例 2:

输入: nums = [9, 6, 4, 2, 3, 5, 7, 0, 1]
输出: 8

PHP 代码示例

function missingNumber($nums) {
    $n = count($nums);
    $total = $n * ($n + 1) / 2; // 0 到 n 的总和
    $sum = array_sum($nums); // 数组元素之和
    return $total - $sum;
}

// 示例用法
$nums = [0, 1, 2, 3, 4, 5, 6, 8];
echo missingNumber($nums); // 输出: 7

Python 代码示例

def missingNumber(nums):
    n = len(nums)
    total = n * (n + 1) // 2
    return total - sum(nums)

# 示例用法
nums = [0, 1, 2, 3, 4, 5, 6, 8]
print(missingNumber(nums))  # 输出: 7

JavaScript 代码示例

function missingNumber(nums) {
    const n = nums.length;
    const total = n * (n + 1) / 2;
    let sum = 0;
    for (let num of nums) {
        sum += num;
    }
    return total - sum;
}

// 示例用法
const nums = [0, 1, 2, 3, 4, 5, 6, 8];
console.log(missingNumber(nums)); // 输出: 7

码小课网站推荐

码小课网站提供了丰富的编程学习资源,包括但不限于各种编程语言的基础教程、进阶课程、实战项目等。对于想要深入学习算法、数据结构以及各种编程技术的朋友,码小课网站是一个不可多得的学习平台。欢迎大家访问码小课网站,获取更多相关内容,与广大编程爱好者共同进步。

推荐面试题