博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两个数组的交集II
阅读量:5052 次
发布时间:2019-06-12

本文共 1057 字,大约阅读时间需要 3 分钟。

给定两个数组,编写一个函数来计算它们的交集。

示例 1:

输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]

示例 2:

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]

说明:

  • 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。
  • 我们可以不考虑输出结果的顺序。

进阶:

  • 如果给定的数组已经排好序呢?你将如何优化你的算法?
  • 如果 nums1 的大小比 nums2 小很多,哪种方法更优?
  • 如果 nums2 的元素存储在磁盘上,磁盘内存是有限的,并且你不能一次加载所有的元素到内存中,你该怎么办?

 

1 class Solution { 2 public: 3     vector
intersect(vector
& nums1, vector
& nums2) { 4 map
m1; 5 map
m2; 6 7 for(int i=0;i
::iterator it1;24 map
::iterator it2;25 vector
result;26 27 for(it1=m1.begin();it1!=m1.end();it1++){28 it2=m2.find(it1->first);29 if(it2!=m2.end()){30 int counter = it1->second >= it2->second ? it2->second : it1->second;31 for(int i=0;i
first);33 }34 }35 }36 37 return result;38 39 40 }41 };

 

转载于:https://www.cnblogs.com/mxf1997/p/10575138.html

你可能感兴趣的文章
Spring学习(四)-----Spring Bean引用同xml和不同xml bean的例子
查看>>
哲理故事与管理之道(20)-用危机激励下属
查看>>
关于源程序到可运行程序的过程
查看>>
wepy的使用
查看>>
转载:mysql数据库密码忘记找回方法
查看>>
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
面向对象1
查看>>
在ns2.35中添加myevalvid框架
查看>>
【贪心+DFS】D. Field expansion
查看>>
为什么要使用href=”javascript:void(0);”
查看>>
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
IOS-每个程序员的编程之路上都应该看这11本书
查看>>
自定义tabbar(纯代码)
查看>>
小程序底部导航栏
查看>>
ibatis学习笔记
查看>>
18-ES6(1)
查看>>
poj1611 简单并查集
查看>>
Ubuntu 14.04下安装CUDA8.0
查看>>