题目描述
349
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]
示例 2:
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
350
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2,2]
示例 2:
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [4,9]
说明:
输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。
我们可以不考虑输出结果的顺序。
代码实现
# 349
class Solution:
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
L1 = len(nums1)
L2 = len(nums2)
d={}
for i in nums1:
if i in d:
d[i] += 1
else:
d[i] = 1
res = []
d1={}
for j in nums2:
if (j in d) and (j not in d1):
d1[j] = 1
res.append(j)
return res
# 350
class Solution:
def intersect(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
L1 = len(nums1)
L2 = len(nums2)
d={}
for i in nums1:
if i in d:
d[i] += 1
else:
d[i] = 1
res = []
for j in nums2:
if j in d and d[j] != 0:
res.append(j)
d[j] -= 1
return res
更多题目包括leetcode、牛客网、各种排序算法解法参见个人GitHub,持续更新中,欢迎star ~~
https://github.com/PemLer/Journey_of_leetcode