Given an array containing n distinct numbers taken from
0, 1, 2, ..., n, find the one that is missing from the array.
Input: [3,0,1] Output: 2
Input: [9,6,4,2,3,5,7,0,1] Output: 8
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
use a hashmap to help check which number is missing
class Solution: def missingNumber(self, nums: List[int]) -> int: n = len(nums) visited = set() for num in nums: visited.add(num) for i in range(0, n + 1): if i not in visited: return i
- Time complexity: O(N).
- Space complexity: O(1).