0268. 丢失的数字 #
- 标签:位运算、数组、数学
- 难度:简单
题目大意 #
给定一个长度为 n 的数组 nums,nums 包含 [0, n] 中的 n 个数,要求找出 [0, n] 范围内没有出现在数组中的那个数。
-
n == len(nums)
-
$1 \le n \le 10^4$
-
$0 \le nums[i] \le n$
-
nums 中的数字是唯一的
解题思路 #
[0, n] 的范围有 n+1 个数(包含 0)。现在给了我们 n 个数,要求找出其中缺失的那个数。
1. 哈希表 #
将 nums 中所有元素插入到哈希表中,然后遍历 [0, n],找到缺失的数字。
这里的哈希表也可以用长度为 n+1 的数组代替。
2. 数学计算 #
已知 [0, n] 的求和公式为:$\sum_{i=0}^n i = \frac{n*(n+1)}{2}$,则用 [0, n] 的和,减去数组中所有元素的和,就得到了缺失数字。
代码 #
- 哈希表
|
|
- 数学计算
|
|