268.丢失的数字
链接:268.丢失的数字
难度:Easy
标签:位运算、数组、哈希表、数学、二分查找、排序
简介:给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。
题解 1 - typescript
- 编辑时间:2021-11-06
 - 执行用时:80ms
 - 内存消耗:45MB
 - 编程语言:typescript
 - 解法介绍:哈希。
 
function missingNumber(nums: number[]): number {
  const n = nums.length;
  const set = new Set(nums);
  for (let num = 0; num <= n; num++) {
    if (!set.has(num)) return num;
  }
  return 0;
}
题解 2 - typescript
- 编辑时间:2021-11-06
 - 执行用时:80ms
 - 内存消耗:40.4MB
 - 编程语言:typescript
 - 解法介绍:xor 去重。
 
function missingNumber(nums: number[]): number {
  const n = nums.length;
  let num = 0;
  for (let i = 0; i <= n; i++) num ^= i;
  for (let i = 0; i < n; i++) num ^= nums[i];
  return num;
}