栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

算法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

算法

文章目录
  • 两个数组的交集
    • 1.解法
    • 2.总结
      • python
      • 算法

两个数组的交集

leetcode链接

1.解法

将其中一个list转化为set,然后遍历另一个list,当这个list中的元素出现在set中时,就把结果存到result_set中(注意存放结果的容器是一个set)

使用python的话就很简单了,直接将两个list都转换为set,然后用&求交集就行了

代码如下:

def intersection(nums1,nums2):
    num1 = set(nums1)
    num2 = set(nums2)

    num = list(num1 & num2)

    return num
2.总结 python
  1. collections.Counter:使用list()方法将该容器强制转换为list时,返回的是所有key的值

  2. &:求交集

算法
  1. 哈希表在能使用数组的情况下不要使用set

    因为直接使用set 不仅占用空间比数组大,而且速度要比数组慢,set把数值映射到key上都要做hash计算的。

    不要小瞧这个耗时,在数据量大的情况,差距是很明显的。

  2. 当哈希值有范围时,比如哈希值是字母,那么范围就是1-26,或者题目给定某个范围了,就可以用数组来实现;当哈希值没有范围时,一般就用set或者map来实现

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/504043.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号