[LeetCode] 350. 两个数组的交集 II intersection-of-two-arrays-ii(排序)

[LeetCode] 350. 两个数组的交集 II intersection-of-two-arrays-ii(排序)_第1张图片

思路:

先找到set的交集,然后分别计算交集中的每个元素在两个原始数组中出现的最小次数。

class Solution(object):
    def intersect(self, nums1, nums2):
        """
        :type nums1: List[int]
        :type nums2: List[int]
        :rtype: List[int]
        """
        # intersect=[]
        # for i in nums1:
        #     while i in nums2:
        #         intersect.append(i)
        # return intersect  #注释方法超出时间
        
        temp=list(set(nums1)&set(nums2))
        intersect=[]
        for i in temp:
            intersect+=[i]*min(nums1.count(i),nums2.count(i)) #list除了append,可以直接+ ;注意元素加[]
        return intersect

但是这种方法还是属于调用函数,和要求的哈希表等基本无关。

 

转载于:https://www.cnblogs.com/nicetoseeyou/p/10408948.html

你可能感兴趣的:([LeetCode] 350. 两个数组的交集 II intersection-of-two-arrays-ii(排序))