惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
罗磊的独立博客
博客园_首页
量子位
雷峰网
雷峰网
GbyAI
GbyAI
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Cloudflare Blog
IT之家
IT之家
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东

博客园 - 浙林龙哥

S3 put object upload file,被AI欺骗的一天 How to get blob data using javascript XmlHttpRequest by sync 咖啡之约--体验 SourceAnywhere 安装node.js / npm / express / KMC 选择沃阁橱柜 ASP.NET 4.0的ClientIDMode=”Static”未必是最好 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 Web Forms 的整洁HTML标识 — 客户端ID》篇 .NET 3.5 Ruby学习1-字符串 ImageMagick 详细安装使用 linux (jmagick) Windows XP 上安装 Bind9 BIND9配置 [javascript] 数组去重问题 [javascript]数组去重 淘宝图片空间---设计师可免费申请短链接啦! php框架 How to use iBatis/NHibernate in medium trust/partial trust environments like Mosso JVM调优 常用的eclipse plugins
数组A和B找交集
浙林龙哥 · 2011-03-08 · via 博客园 - 浙林龙哥

有两个整型数组A和B,有什么高效的算法,找出两个数组的交集

A:3 1 20 46
B:20 9 12 5
交集:20

观点一:

数组A长度:m
数据B长度:n

----------------------------------------------
最直接两个数组挨个比:    时间 = m * n 
----------------------------------------------
两个数组分别排序        时间 = m^2 + n^2 + m        //m,n的平方 (最后得比一次吧),这个好慢啊
---------------------------------------------
只排1个数组              时间 = n^2 + m              //n的平方和m*n哪个大,好象省不了多少时间

观点二:

设这两个数组分别为A[N],B[M] (N <=M)

1)对A[N]排序 -- 时间复杂度NlgN;
2)对B[M]中的每一个元素,在已经排序好的A[N]中二分查找 --时间复杂度 MlgN

综上,时间复杂度为 (M+N)lgN

posted on 2011-03-08 10:05  浙林龙哥  阅读(912)  评论(0)    收藏  举报