python用指针合并两个有序数组(Python3实现计算两个数组的交集算法示例)
类别:脚本大全 浏览量:251
时间:2021-10-22 07:40:26 python用指针合并两个有序数组
Python3实现计算两个数组的交集算法示例本文实例讲述了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程序设计有所帮助。
原文链接:https://blog.csdn.net/zhenghaitian/article/details/80896392
您可能感兴趣
- python动态数组原理(Python实现的旋转数组功能算法示例)
- ajax 向后台传递数组参数
- python数组与矩阵转换(python 读取文件并把矩阵转成numpy的两种方法)
- js中数组的操作
- vue如何检查数组变化(Vue2中无法检测到数组变动的原因及解决)
- js的遍历数组方法(JS中数组常用的循环遍历你会几种)
- python删除数据框重复变量(Python3删除排序数组中重复项的方法分析)
- javascript中定义数组的方法(JavaScript中数组sort方法的基本使用与踩坑记录)
- jquery判断是否为数组
- javascript数组实例扩展方法(JavaScript如何监测数组的变化)
- php中数组使用技巧(php常用经典函数集锦数组、字符串、栈、队列、排序等)
- js数组的sort排序
- php的数组是如何实现的(PHP中遍历数组的三种常用方法实例分析)
- python怎么从数组中取内容(python调用c++ ctype list传数组或者返回数组的方法)
- C#中List和数组之间的转换
- python数据分析删除重复值(Python3实现从排序数组中删除重复项算法分析)
- 成都旅游攻略(成都旅游攻略自由行最佳线路)
- 给儿童吃什么最好(给儿童吃什么最好消化)
- 杭州旅游攻略()
- 云南旅游攻略(云南旅游攻略5天攻略)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
- 景区游玩,这些安全知识要牢记(这些安全知识要牢记)
热门推荐
- mysql操作时间的函数(一篇文章搞定Mysql日期时间函数)
- laravel跳转后需要授权吗(解决Laravel5.2 Auth认证退出失效的问题)
- php图片合成处理(PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例)
- javascript怎么编写游戏(javaScript实现网页版的弹球游戏)
- docker快速入门和安装(docker安装tomcat8的实现方法)
- php符串使用教程学习(PHP实现支持CURL字符串证书传输的方法)
- 云主机和免备案空间(租用国内免备案云服务器空间靠谱吗?)
- sqlserver恢复delete数据(SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢)
- dedecms简介(Linux操作系统下DedeCMS详细安全设置教程)
- ubuntu18.04正式版怎么安装(Ubuntu Server 18.04.5 LTS服务器版安装配置图解教程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9