每日一题之20201102(349. 两个数组的交集)

简介: 两个数组的交集解法

空间换时间,hash表2次遍历(Python)

  • 潇洒解法:
    利用Python的set数据结构,完成交集操作
class Solution:
    def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
        return list(set(nums1) & set(nums2))

6.jpg

11.jpg


  • 啰嗦解法(但很快)
    先建立一个dict,遍历数组1,然后将数组里面的值都放到temp里面,由于dict本身不能有重复的key,相当于天然过滤掉了重复的数据此步骤约等于set(nums1)
    接着就是取并集,遍历数组2,如果数组2的元素在temp里面出现,则添加到result数组中。
    但是这里要注意的是,result可能重复添加
    所以我们在添加一个数字到result以后,将temp里面该数字对应的value改成False,以防重复添加。

7.jpg

222.jpg

class Solution:
    def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
        temp = {}
        result = []
        for n in nums1:
            temp[n] = True
        for x in nums2:
            if temp.get(x):
                result.append(x)
                temp[x] = False
        return result




相关文章
|
Java C++
每日一题——349. 两个数组的交集
每日一题——349. 两个数组的交集
124 0
|
9月前
|
C#
【力扣每日一题/02】349. 两个数组的交集
【力扣每日一题/02】349. 两个数组的交集
|
8月前
|
存储 算法
算法训练,牛客.判断是不是平衡二叉树 牛客.最大子矩阵两个数组的交集牛客.数组中两个字符串的最小距离
算法训练,牛客.判断是不是平衡二叉树 牛客.最大子矩阵两个数组的交集牛客.数组中两个字符串的最小距离
算法训练,牛客.判断是不是平衡二叉树 牛客.最大子矩阵两个数组的交集牛客.数组中两个字符串的最小距离
|
存储 算法 Go
算法练习第六天——两个数组的交集
给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。
|
4月前
|
存储
349 两个数组的交集、350 两个数组的交集、242 有效字母的异位词(2021-11-07)
349 两个数组的交集、350 两个数组的交集、242 有效字母的异位词(2021-11-07)
33 1
|
算法
重温算法之两个数组的交集
有时候看到很多题解都是使用现有的方法去实现,其实管它黑猫白猫,能解题就行了,我之前面试遇到算法题的第一印象是不会考虑现有方法的,比如list的排序,肯定不会考虑list.sort,所以有时候还是得学会变通,灵活运用。
134 0
重温算法之两个数组的交集
|
9月前
leetcode代码记录(两个数组的交集
leetcode代码记录(两个数组的交集
40 1
|
9月前
|
Java C++ Python
leetcode-349:两个数组的交集
leetcode-349:两个数组的交集
63 1

热门文章

最新文章