找到数组中所有消失的数字

🎯 问题描述(来源于LeetCode)

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。

💻 代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution:
def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
mp=dict()
l=len(nums)
a=[]
for i in range(1,l+1):
mp[i]=0
for i in nums:
mp[i]=i
for i in range(1,l+1):
if mp[i]==0:
a.append(i)
return a

📊 性能分析

提交结果

  • 运行时间:59ms击败16.35%
  • 内存消耗:40.34MB击败5.08%

复杂度验证

  • 时间复杂度:O(n)O(n)
  • 空间复杂度:O(n)O(n)