Python3实现计算两个数组的交集算法示例
2019-04-03 10:39
966 查看
本文实例讲述了Python3实现计算两个数组的交集算法。分享给大家供大家参考,具体如下:
问题:
给定两个数组,写一个方法来计算它们的交集。
方案一:利用collections.Counter
的&
运算,一步到位,找到 最小次数 的相同元素。
# -*- coding:utf-8 -*- #! python3 def intersect(nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ import collections a, b = map(collections.Counter, (nums1, nums2)) return list((a & b).elements()) #测试 arr1 = [1,2,3,4,5] arr2 = [3,4,5,6,7] print(intersect(arr1,arr2))
运行结果:
[3, 4, 5]
方案二:遍历其中一个数组,发现相同元素时添加到新列表中,同时删去另一个数组中的一个相同元素
# -*- coding:utf-8 -*- #! python3 def intersect(nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ res = [] for k in nums1: if k in nums2: res.append(k) nums2.remove(k) return res #测试 arr1 = [1,2,3,4,5] arr2 = [3,4,5,6,7] print(intersect(arr1,arr2))
运行结果:
[3, 4, 5]
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Python实现的合并两个有序数组算法示例
- Python实现求两个数组交集的方法示例
- 求两个数组的交集、并集和差集算法分析与实现
- 求两个数组的交集、并集和差集算法分析与实现(转自http://blog.sina.com.cn/s/blog_616e189f0100mrdn.html)
- 求两个数组的交集、并集和差集算法分析与实现
- 求两个数组的交集、并集和差集算法分析与实现
- 【LeetCode】Python实现-350. 两个数组的交集 II
- Python实现两个list求交集,并集,差集的方法示例
- leetCode 349号题目详解 两个数组的交集 ,python3两种方式实现, 复杂度分别为O(n^2) 和 O(n)
- Python实现的旋转数组功能算法示例
- Python实现查找数组中任意第k大的数字算法示例
- 两个数组并集 交集 差集的算法思想与实现
- Python实现在某个数组中查找一个值的算法示例
- 【LeetCode】Python实现-349. 两个数组的交集
- Python 3.3实现计算两个日期间隔秒数/天数的方法示例
- JavaScript实现获取两个排序数组的中位数算法示例
- git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0
- Python实现的中国剩余定理算法示例
- Python实现两个list对应元素相减操作示例
- PHP实现找出数组中出现次数超过数组长度一半的数字算法示例