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中for循环计算1-100(python 用for循环实现1~n求和的实例)
- python网络爬虫案例实战(python爬取cnvd漏洞库信息的实例)
- python itchat库介绍(Python利用itchat库向好友或者公众号发消息的实例)
- python time模块是什么(python中时间模块的基本使用教程)
- python正则表达式处理教学(使用Python正则表达式操作文本数据的方法)
- python语句三元运算符(Python中三元表达式的几种写法介绍)
- python企业微信录信息(python获取微信企业号打卡数据并生成windows计划任务)
- python中可以改变的数据类型(Python常见数据类型转换操作示例)
- python图片aes加密(python实现AES加密和解密)
- python中统计文本中单词数的代码(Linux上使用Python统计每天的键盘输入次数)
- python获取微信用户(python-itchat 获取微信群用户信息的实例)
- python 从入门到实践笔记(python基础梳理一推荐)
- python迭代函数(详解Python中的内建函数,可迭代对象,迭代器)
- python函数操作大全(Python的高阶函数用法实例分析)
- python真的能高效处理excel报表吗(Python数据报表之Excel操作模块用法分析)
- 今日大雪,大雪养生这样做,一年都有好气色(大雪养生这样做)
- 粗盐是什么 粗盐的功效与作用(粗盐的功效与作用)
- 会 吃人 的客机 从天堂到地狱只需5分钟,图-104如何做到(会吃人的客机)
- 男人犯的错,为什么要女人来承担(为什么要女人来承担)
- 心理学 四个金蟾,哪个最招财 测你今生的运势有多棒(心理学四个金蟾)
- 吉善缘《聚宝金蟾》金蟾招财摆件 三足全铜蟾蜍客厅店铺开业礼品(吉善缘聚宝金蟾金蟾招财摆件)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9