Last updated 2 years ago
這個題目的簡單做法是排序後再找,但是這樣的做法通常都是會被問到提供更好的解法。
關於解法其實也不難,那就是使用 Set 記錄起來有出現過的元素,之後從小走到大,再把沒有出現在 Set 裡面的數字記錄起來,那就可以找到解答了。
class Solution: def findDisappearedNumbers(self, nums: List[int]) -> List[int]: m = len(nums) S = set(nums) ans = [] for i in range(1, m + 1): if i not in S: ans.append(i) return ans