349.两个数组的交集
题目
给定 两个数组,编写一个函数来计算它们的交集。
示例1:
输入:nums1=[1,2,2,1], nums2=[2,2]
输出:[2]
示例2:
输入:nums1=[4,9,5],nums2=[9,4,9,8,4]
输出:[9,4]
这道题我也是一次过就做出来了,太开心了。
思路是nums2作为目标数组,nums1作为查询数组,将nums1存入集合,去除重复元素,那么剩下再用num2去遍历,这样就可以找到交集元素。
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
if not nums1:return []
if not nums2:return []
hashmap={}
for i in range(len(nums1)):
if nums1[i] not in hashmap:
hashmap[nums1[i]]=hashmap.get(nums1[i],0)+1
result=[]
print(hashmap)
for k,v in hashmap.items():
if k in nums2:
result.append(k)
return result
测试用例
def intersection(nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
if not nums1:return []
if not nums2:return []
hashmap={}
for i in range(len(nums1)):
if nums1[i] not in hashmap:
hashmap[nums1[i]]=hashmap.get(nums1[i],0)+1
result=[]
print(hashmap)
for k,v in hashmap.items():
if k in nums2:
result.append(k)
return result
nums1 = [1,2,2,1]
nums2 = [2,2]
print(intersection(nums1,nums2))