今天去面試遇到一個算法相關的問題:
有二個從小到大已近排序好的數(shù)組耍铜,怎么找出它們的交集
答案:使用 二路并歸發(fā)查找驻子,也就是二個數(shù)組同時循環(huán)。具體代碼
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);
}
更多算法相關面試題關注小程序