今天面试的时候碰到了一个面试题,在这里记录一下
题目如下:
给定两个有序数组 int[] a={1,2,3,4} 和int[] b={5,6,7,8},写出一个能将两个有序数组合并成一个大的有序数组的实现:
int[] a={1,2,3,8};
int[] b={4,5,6,7};
int[] temp=new int[a.length+b.length];
int i=0,j=0,k=0;
while(i<a.length||j<b.length){
if(i==a.length&&j<b.length){
temp[k++]=b[j++];
}else if(j==b.length&&i<a.length){
temp[k++]=a[i++];
}else if(a[i]<=b[j]){
temp[k++]=a[i++];
}else{
temp[k++]=b[j++];
}
}
System.out.println(Arrays.toString(temp));