LeetCode 350_ 两个数组的交集 II

1. 题目描述

 

2. 代码

import collections

class Solution:
    def intersect(self, nums1: 'List[int]', nums2: 'List[int]') -> 'List[int]':
        result = []
        c1 = collections.Counter(nums1)#计算nums1的元素及出现频率
        c2 = collections.Counter(nums2)#计算nums2的元素及出现频率
        for k in c1.keys():#循环c1
            if k in c2:#如果c2中也出现过
                times = min(c1[k],c2[k])#计算出现了多少次(较少的)
                result += [k] * times#将元素添加进结果数组, 乘以times是求交集.
        return result

3. 整理

3.1 Python中collections模块, 附上最近看的3个链接.

https://www.cnblogs.com/dianel/p/10787693.html

https://www.liaoxuefeng.com/wiki/897692888725344/973805065315456

https://www.jianshu.com/p/47f66ff4ab7b

 3.2 

* 乘: 两个数相乘或是返回一个被重复若干次的字符串.

列表拼接操作:

1 squares = [1, 4, 9]
2 squares += [81, 100]
3 print(squares)
1 [1, 4, 9, 81, 100]

 

posted @ 2020-10-12 10:04  vv_869  阅读(82)  评论(0编辑  收藏  举报