每日一道leetcode(python)349. 两个数组的交集

每日一道leetcode(python)349. 两个数组的交集

2021-09-26

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

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
 
说明:

输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/intersection-of-two-arrays
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

用set进行去重,如果在nums1中的元素也在nums2中,就把他加入到res中。

class Solution:
    def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
        res = []
        nums1 = list(set(nums1))
        nums2 = list(set(nums2))
        for num1 in nums1:
            if num1 in nums2:
                res.append(num1)
        return res

这种写法更简洁一些

class Solution:
    def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
        return list(set(nums1) & set(nums2))

Python 运算符
算术运算符
比较(关系)运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
运算符优先级

>>> set.intersection(s,d)#获取s,d的交集
{1}
>>> s = {1,2,3,4,5}
>>> d = {2,3,4,5,6}
>>> s.intersection(d)
{2, 3, 4, 5}
>>> s.union(d)#并集
{1, 2, 3, 4, 5, 6}
>>> s.difference(d)#获取差集s-d
{1}
>>> d.difference(s)#获取差集d-s
{6}
上一篇:【leetcode】 两个数组的交集 IIc++


下一篇:寻找两个正序数组的中位数【php版】