算法-二路并归

今天去面试遇到一个算法相关的问题:

有二个从小到大已近排序好的数组,怎么找出它们的交集

答案:使用 二路并归发查找,也就是二个数组同时循环。具体代码

int[]arr1={1,2,3,4,5,6,7,19};

int[]arr2={3,4,6,8,9,19};

inti=0,j=0;

Listres=newArrayList();

while( i < arr1.length && j < arr2.length ){

int temp1 = arr1[i];

int temp2 = arr2[j];

if(temp1==temp2){

res.add(temp1);

i ++;

j++;

}else if (temp1 > temp2){

j++;

}else{

i++;

}

System.out.println(res);

}

更多算法相关面试题关注小程序


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,358评论 0 33
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 9,397评论 0 6
  • 回溯算法 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并...
    fredal阅读 14,702评论 0 89
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,546评论 0 41
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 5,269评论 0 6

友情链接更多精彩内容