Failed test #5. Run time error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Main.mergeArrays(Main.java:65)
at Main.main(Main.java:29)
at Main.main(Main.java:9)
public static int[] mergeArrays(int[] a1, int[] a2) {
if (a1.length == 0) {
return a2;
} else if (a2.length == 0) {
return a1;
}
int max_len;
int min_len;
if (a1.length >= a2.length) {
max_len = a1.length;
min_len = a2.length;
} else {
max_len = a2.length;
min_len = a1.length;
}
int[] arr = new int[max_len + min_len];
int i = 0, j = 0, k = 0;
while (i < max_len && j < max_len && k < (max_len + min_len)) {
if (j < a2.length && k < (max_len + min_len) && a1[i] >= a2[j]) {
arr[k] = a2[j];
++j;
++k;
} else if ( i < a1.length && k < (max_len + min_len) && a1[i] < a2[j]) {
arr[k] = a1[i];
++i;
++k;
}
}
while (i < a1.length && k < (max_len + min_len)) {
arr[k] = a1[i];
++i;
++k;
}
while (j < a2.length && k < (max_len + min_len)) {
arr[k] = a2[j];
++j;
++k;
}
return arr; // your implementation here
}