python 获取数组任意组合(Python实现求两个数组交集的方法示例)
类别:脚本大全 浏览量:2754
时间:2022-01-22 01:59:11 python 获取数组任意组合
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 while i< len (nums1) and j< len (nums2): if nums1[i] = = nums2[j]: result.append(nums1[i]) i + = 1 j + = 1 elif nums1[i]>nums2[j]: j + = 1 elif nums1[i]<nums2[j]: i + = 1 return result |
时间 52ms,击败了 93%
本机测试代码如下:
|
# -*- coding:utf-8 -*- nums1 = [ 1 , 2 , 2 , 1 ] nums2 = [ 2 , 2 ] nums1.sort() nums2.sort() result = [] i, j = 0 , 0 while i< len (nums1) and j< len (nums2): if nums1[i] = = nums2[j]: result.append(nums1[i]) i + = 1 j + = 1 elif nums1[i]>nums2[j]: j + = 1 elif nums1[i]<nums2[j]: i + = 1 print (result) |
运行结果:
[2, 2]
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://blog.csdn.net/linfeng886/article/details/82747703
您可能感兴趣
- python 二维数组怎么取第二列(python实现二维数组的对角线遍历)
- python协程详解(为什么你还不懂得怎么使用Python协程)
- python详细讲解类方法的使用(浅谈python标准库--functools.partial)
- python真的能高效处理excel报表吗(Python数据报表之Excel操作模块用法分析)
- python代码如何进行切片索引(Python读取Pickle文件信息并计算与当前时间间隔的方法分析)
- python time模块是什么(python中时间模块的基本使用教程)
- python编写告白程序(python抖音表白程序源代码)
- python常用的切片操作(使用python PIL库实现简单验证码的去噪方法步骤)
- python怎么自动刷抖音(python实现抖音点赞功能)
- pythondjango图解(详解Django-restframework 之频率源码分析)
- linux查python进程(linux查找当前python解释器的位置方法)
- pythonqt入门教程(使用python实现mqtt的发布和订阅)
- python爬虫开源代码(Python实现的文轩网爬虫完整示例)
- python3常见问题(对Python3使运行暂停的方法详解)
- python串口怎么使用(使用Python3+PyQT5+Pyserial 实现简单的串口工具方法)
- pythonredis使用场景(python redis 删除key脚本的实例)
- 十二星座爱情支配欲指数(十二星座爱情支配欲指数)
- 虐待儿童是发泄支配欲的愚蠢行为(虐待儿童是发泄支配欲的愚蠢行为)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
热门推荐
- vue设置div大小(Vue实现div滚轮放大缩小)
- docker容器启动自动执行命令(docker run 运行容器自动结束的解决)
- laravel 获取数据库操作异常(Laravel Eloquent ORM 多条件查询的例子)
- datetimepicker怎么设置空值(浅谈amaze-ui中datepicker和datetimepicker注意的几点)
- dedecms关键词功能(DedeCms 5.7 代码高亮实现方法)
- jQuery end()
- 虚拟主机与空间有什么区别(全能主机是什么意思?全能虚拟主机好用吗?)
- python生成文本文件(python+os根据文件名自动生成文本)
- php执行超时怎么办(PHP错误提示It is not safe to rely on the system……的解决方法)
- python程序运行步骤(详解python运行三种方式)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9