Write a function to merge two sorted arrays.
Ex:- [ 1, 2, 4 ] and [ 1, 3, 4 ]
output:- [ 1, 1, 2, 3, 4, 4]
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
public class MergeList { public static void main(String args[]) { int[] arr1 = { 1, 2, 4 }; int[] arr2 = { 1, 3, 4 }; int[] arr = mergeArray(arr1, arr2); for(int x: arr) System.out.print(x+" "); // 1 1 2 3 4 4 } public static int[] mergeArray(int[] arr1, int[] arr2){ int[] arr = new int[arr1.length + arr2.length]; int i = 0, j = 0, k = 0; while(i<arr1.length && j<arr2.length){ if(arr1[i] < arr2[j]) arr[k++] = arr1[i++]; else arr[k++] = arr2[j++]; } while(i < arr1.length) arr[k++] = arr1[i++]; while (j < arr2.length) arr[k++] = arr2[j++]; return arr; } } |
Python
def mergeList(arr1, arr2): i = j = k = 0 arr = [None]*(len(arr1)+len(arr2)) while i<len(arr1) and j<len(arr2): if arr1[i]<arr2[j]: arr[k] = arr1[i] i += 1 else: arr[k] = arr2[i] j += 1 k += 1 while i<len(arr1): arr[k] = arr1[i] k += 1 i += 1 while j<len(arr2): arr[k] = arr2[j] k += 1 j += 1 return arr arr1 = [ 1, 3, 4] arr2 = [ 1, 2, 4] print(mergeList(arr1, arr2))
Python
def mergeList(arr1, arr2): return sorted(arr1+arr2) arr1 = [ 1, 3, 4] arr2 = [ 1, 2, 4] print(mergeList(arr1, arr2))