mirror of
https://github.com/prdlk/leetcode.git
synced 2026-09-16 23:16:26 +00:00
56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
---
|
|
title: '268. Missing Number'
|
|
description: Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array
|
|
sidebar:
|
|
label: 'Missing Number'
|
|
badge: 'Easy'
|
|
---
|
|
|
|
<Badge variant="accent">Array</Badge>
|
|
|
|
::::warning
|
|
Could you implement a solution using only O(1) extra space complexity and O(n) runtime complexity?
|
|
::::
|
|
|
|
### Example 1:
|
|
- Input: `nums = [3,0,1]`
|
|
- Output: `2`
|
|
- Explanation: `n = 3` since there are `3` numbers, so all numbers are in the range `[0,3]`. `2` is the missing number in the range since it does not appear in `nums`.
|
|
|
|
### Example 2:
|
|
- Input: `nums = [0,1]`
|
|
- Output: `2`
|
|
- Explanation: `n = 2` since there are `2` numbers, so all numbers are in the range `[0,2]`. `2` is the missing number in the range since it does not appear in `nums`.
|
|
|
|
### Example 3:
|
|
- Input: `nums = [9,6,4,2,3,5,7,0,1]`
|
|
- Output: `8`
|
|
- Explanation: `n = 9` since there are `9` numbers, so all numbers are in the range `[0,9]`. `8` is the missing number in the range since it does not appear in `nums`.
|
|
|
|
### Constraints:
|
|
|
|
- `n == nums.length`
|
|
- `1 <= n <= 10^4`
|
|
- `0 <= nums[i] <= n`
|
|
- All the numbers of `nums` are unique.
|
|
|
|
## Solution
|
|
|
|
```js
|
|
/**
|
|
* @param {number[]} nums
|
|
* @return {number}
|
|
*/
|
|
var missingNumber = function(nums) {
|
|
const numSet = new Set(nums);
|
|
const expectedCount = nums.length + 1;
|
|
|
|
for (let i = 0; i < expectedCount; i++){
|
|
if(!numSet.has(i)){
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
};
|
|
```
|