题目
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]
示例 2:
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
说明:
- 输出结果中的每个元素一定是唯一的。
- 我们可以不考虑输出结果的顺序。
答案1
#
# @lc app=leetcode.cn id=349 lang=python3
#
# [349] 两个数组的交集
#
# @lc code=start
class Solution:
def intersection(self, nums1, nums2):
temp = []
for i in nums1:
if (i in nums2):
temp.append(i)
return list(set(temp))
# @lc code=end
Note
num1每一个元素如果在num2中就加入临时数组中
最后按照题目要求去重
答案2,位运算
#
# @lc app=leetcode.cn id=349 lang=python3
#
# [349] 两个数组的交集
#
# @lc code=start
class Solution:
def intersection(self, nums1, nums2):
return list(set(nums1) & set(nums2))
# @lc code=end
Note
字典的位运算会只保留相同的数字
print({1, 2, 4, 5, 3} & {1, 2, 3})
# {1, 2, 3}
