阿里面试题库
/* 问题:评测题目: 给定两个有序数组,怎么快速的将这两个数组排序成一个有序数组? 例如: array1 [1, 3, 10, 100] array2 [2, 3, 8, 12, 15] result [1, 2, 3, 3, 8, 10, 12, 15, 100] */
代码如下:
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s1 = sc.nextLine();
String s2 = sc.nextLine();
String[] arrs1 = s1.split(" ");
String[] arrs2 = s2.split(" ");
int[] arr1 = new int[arrs1.length];
int[] arr2 = new int[arrs2.length];
for (int i = 0; i < arrs1.length; i++) {
arr1[i] = Integer.valueOf(arrs1[i]);
}
for (int i = 0; i < arrs2.length; i++) {
arr2[i] = Integer.valueOf(arrs2[i]);
}
test(arr1,arr2);
}
public static void test(int[] arr1, int[] arr2 ){
int n = arr1.length+arr2.length;
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
if (i < arr1.length) {
arr[i] = arr1[i];
}
else {
arr[i] = arr2[i-arr1.length];
}
}
Arrays.sort(arr);
List<Integer> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
list.add(arr[i]);
System.out.print(arr[i]+ " ");
}
}
}