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
投稿

猜你喜欢

  • oblog4.6转换ucenterHome1.5过程全记录,提供老用户无法登陆的补丁

    2009-10-29 12:04:00
  • 如何用MySQL-Front远程连接MySql?

    2010-12-03 16:02:00
  • 解决hive中导入text文件遇到的坑

    2023-06-30 16:28:26
  • display:inline-block的深入理解

    2007-05-11 17:03:00
  • 教你用压缩技术给SQL Server备份文件瘦身

    2009-03-05 14:59:00
  • asp日期函数运用--生成简单的日历

    2008-08-15 13:47:00
  • 从算法入手讲解SQL Server的典型示例

    2008-12-18 14:51:00
  • 在VS2008中编译MYSQL5.1.48的方法

    2023-07-12 00:42:46
  • css网页下拉菜单制作方法(3):样式修饰

    2007-02-03 11:39:00
  • 如何提高网页的维护效率

    2009-03-01 11:33:00
  • python处理图片之PIL模块简单使用方法

    2023-06-25 21:42:05
  • ASP中正则表达式的应用

    2010-05-27 12:24:00
  • Python正则表达式匹配ip地址实例

    2023-06-13 15:06:12
  • 细化解析:MySQL 搜索中的大小写敏感性

    2008-11-27 15:53:00
  • mysql导入导出命令

    2011-07-04 11:28:50
  • 在ORACLE移动数据库文件

    2010-08-02 12:54:00
  • 两种与SQL Server数据库交换数据的方法

    2008-12-10 15:39:00
  • css学习笔记:表格隔行点击变色

    2009-04-30 13:15:00
  • php文件类型MIME对照表(比较全)

    2023-06-08 07:24:10
  • PHP addcslashes()函数讲解

    2023-06-10 01:32:33
  • asp之家 网络编程 m.aspxhome.com