首页 > 其他 > 详细

Find intersection of two sorted arrays

时间:2016-01-28 08:14:30      阅读:272      评论:0      收藏:0      [点我收藏+]

共有三种思路。

哈希表。

将较小的那个数组中的所有元素存在哈希表中。然后依次验证另一个数组中的数字是否有出现过。时间复杂度O(m + n),空间复杂度O(min(m, n))

二分搜索法

将较小的那个数组中的每一个元素,都用二分搜索的方法在较大数组中验证是否出现过。当两个数组大小相差很大时,这种方法会很快。

时间复杂度O(min(mlogn, nlogm)), 空间复杂度O(1)。

两个指针

指针i指向一个数组,指针j指向另一个数组。如果i < j,则i++;如果j < i,则j++;如果i = j,则将这个数存入结果,并将两个指针都加一。

时间复杂度O(m + n), 空间复杂度O(1)。

Find intersection of two sorted arrays

原文:http://www.cnblogs.com/fenshen371/p/5165096.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!