题目链接:https://leetcode.cn/problems/intersection-of-two-arrays/description/
核心思想:哈希法-set集合-dict字典
用dict字典去统计数组1的每个数字出现的次数
最终答案用set存储,保证唯一性
遍历数组2,如果数组2的某个数字在数组1中出现过,就添加到set集合,同时删除dict字典对应的值。
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
table = {}
for num in nums1:
table[num] = table.get(num,0) + 1
res = set()
for num in nums2:
if num in table:
res.add(num)
del table[num]
return list(res)
# @lc code=endget()方法的作用:
基本功能:dict.get(key, default) 会尝试从字典中获取 key 对应的值:
若 key 存在,返回其对应的值;
若 key 不存在,返回指定的默认值 default(默认为 None)