Python实现求两个数组交集的方法示例

作者:linfeng886 时间:2023-08-03 18:57:58 

本文实例讲述了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,数组,交集
0
投稿

猜你喜欢

  • Python OpenCV实现识别信用卡号教程详解

    2021-08-12 03:50:27
  • python实现维吉尼亚算法

    2023-07-02 01:28:17
  • 对django xadmin自定义菜单的实例详解

    2023-06-19 22:48:21
  • Python中3种内建数据结构:列表、元组和字典

    2022-12-20 03:46:04
  • AjaxUpLoad.js实现文件上传

    2024-05-11 09:42:07
  • Dockerfile构建一个Python Flask 镜像

    2021-11-12 10:04:01
  • 仿微博字符限制效果实现代码

    2024-04-28 09:51:18
  • python 画三维图像 曲面图和散点图的示例

    2022-04-13 01:28:16
  • Python 数值区间处理_对interval 库的快速入门详解

    2022-08-12 00:18:53
  • Python面向对象程序设计类的封装与继承用法示例

    2022-12-22 08:34:33
  • Python3 利用face_recognition实现人脸识别的方法

    2023-11-05 05:08:02
  • DW MX 2004新功能:加密FTP

    2009-09-13 18:42:00
  • python模拟登录百度贴吧(百度贴吧登录)实例

    2023-11-20 14:30:56
  • 理解 javascript 中的函数表达式与函数声明

    2024-04-23 09:08:26
  • SQLServer 连接 EXCEL

    2009-07-09 19:00:00
  • Python自动化办公之定时发送邮件的实现

    2021-07-14 01:50:32
  • 使用Django的模版来配合字符串翻译工作

    2023-11-17 06:03:47
  • Python实现的列表排序、反转操作示例

    2023-06-19 11:14:27
  • IDEA导入Git项目的方法

    2023-01-25 23:09:09
  • Python实现图像随机添加椒盐噪声和高斯噪声

    2023-06-13 22:54:36
  • asp之家 网络编程 m.aspxhome.com