Python实现求两个数组交集的方法示例
本文实例讲述了Python实现求两个数组交集的方法。分享给大家供大家参考,具体如下:
一、题目
给定两个数组,编写一个函数来计算它们的交集。
例1:
输入:nums1=[1,2,2,1],nums2=[2,2]
输出:[2,2]
例2:
输入:nums1=[4,9,5],nums2=[9,4,9,8,4]
输出:[4,9]
说明:
- 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致
- 我们可以不考虑输出结果的顺序
二、解法
首先把两个数组都排序,然后两个数组进行遍历比较,
当值相等时,两个数组都往后移动一位,并且相等的那个值加入到result数组中
当值不相等时,值小的数组往后移动一位(因为我们已经排序过了,如果是值大的数组往后移动一位,那么肯定还是比值小的要大)
代码如下:
nums1.sort() nums2.sort() result=[] i,j=0,0 whileinums2[j]: j+=1 elifnums1[i] 时间52ms,击败了93%
本机测试代码如下:
#-*-coding:utf-8-*- nums1=[1,2,2,1] nums2=[2,2] nums1.sort() nums2.sort() result=[] i,j=0,0 whileinums2[j]: j+=1 elifnums1[i] 运行结果:
[2,2]
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数组操作技巧总结》、《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。