@Test(expected = IllegalArgumentException.class) public void shouldNotAcceptNullArrays() { mergeSortedArrays.merge(null, null); }
public int[] merge(int[] array1, int[] array2) { validateArrays(array1, array2); int[] result = new int[array1.length + array2.length]; int i = 0, j = 0, k = 0; while (i < array1.length && j < array2.length) { if (array1[i] < array2[j]) { result[k++] = array1[i++]; } else { result[k++] = array2[j++]; } } while (i < array1.length) { result[k++] = array1[i++]; } while (j < array2.length) { result[k++] = array2[j++]; } return result; }
MergeSortedArrays { public int[] merge(int[] array1, int[] array2) { validateArrays(array1, array2); int[] result = new int[array1.length + array2.length]; int i = 0, j = 0, k = 0; while (i < array1.length && j < array2.length) { if (array1[i] < array2[j]) { result[k++] = array1[i++]; } else { result[k++] = array2[j++]; } } while (i < array1.length) { result[k++] = array1[i++]; } while (j < array2.length) { result[k++] = array2[j++]; } return result; } }
MergeSortedArrays { public int[] merge(int[] array1, int[] array2) { validateArrays(array1, array2); int[] result = new int[array1.length + array2.length]; int i = 0, j = 0, k = 0; while (i < array1.length && j < array2.length) { if (array1[i] < array2[j]) { result[k++] = array1[i++]; } else { result[k++] = array2[j++]; } } while (i < array1.length) { result[k++] = array1[i++]; } while (j < array2.length) { result[k++] = array2[j++]; } return result; }  }
MergeSortedArrays { public int[] merge(int[] array1, int[] array2) { validateArrays(array1, array2); int[] result = new int[array1.length + array2.length]; int i = 0, j = 0, k = 0; while (i < array1.length && j < array2.length) { if (array1[i] < array2[j]) { result[k++] = array1[i++]; } else { result[k++] = array2[j++]; } } while (i < array1.length) { result[k++] = array1[i++]; } while (j < array2.length) { result[k++] = array2[j++]; } return result; }  int[] merge(int[] array1, int[] array2); }
MergeSortedArrays { public int[] merge(int[] array1, int[] array2) { validateArrays(array1, array2); int[] result = new int[array1.length + array2.length]; int i = 0, j = 0, k = 0; while (i < array1.length && j < array2.length) { if (array1[i] < array2[j]) { result[k++] = array1[i++]; } else { result[k++] = array2[j++]; } } while (i < array1.length) { result[k++] = array1[i++]; } while (j < array2.length) { result[k++] = array2[j++]; } return result; }  int[] merge(int[] array1, int[] array2);  }