题目

给定两个数组,编写一个函数来计算它们的交集。
示例 1:

  1. 输入: nums1 = [1,2,2,1], nums2 = [2,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}