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

思路:

先找到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

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

猜你喜欢

转载自www.cnblogs.com/nicetoseeyou/p/10408948.html