349. 两个数组的交集
力扣题目链接(opens new window)
题意:给定两个数组,编写一个函数来计算它们的交集。
给定两个数组 nums1 和 nums2 ,返回 它们的
交集
。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的
提示:
1 <= nums1.length, nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 1000
代码
from collections import defaultdict
def intersection(nums1,nums2):
h=[]
s_dic=defaultdict(int)
t_dic=defaultdict(int)
if len(nums1)<len(nums2):
nums1,nums2=nums2,nums1
for x in nums1:
s_dic[x]+=1
for t in nums2:
t_dic[t] += 1
for i in range(1, 10):
if s_dic[i]>=1 and t_dic[i]>=1:
h.append(i)
print(h)
return
if __name__=='__main__':
numbers1 = input("nums1=").split()
nums1 = [int(x) for x in numbers1 if x.isdigit()]
numbers2 = input("nums2=").split()
nums2 = [int(x) for x in numbers2 if x.isdigit()]
intersection(nums1,nums2)