Union Two Sorted List with Distinct Value
- Given X = { 10, 12, 16, 20 } & Y = {12, 18, 20, 22}
- We would like to find out the union of two sorted arrays.
- Union of X U Y is {10, 12, 16, 18, 20, 22}
Array:
public static List<Integer> unionTwoSortedArray(int[] arr1, int[] arr2){ int len1 = arr1.length; int len2 = arr2.length; int i = 0; int j = 0; List<Integer> list = new ArrayList<>(); while(i<len1 && j<len2){ if(arr1[i] < arr2[j]){ list.add(arr1[i]); i++; } else if(arr1[i] > arr2[j]){ list.add(arr2[j]); j++; } else{ list.add(arr2[j]); i++; j++; } } while(i<len1){ list.add(arr1[i]); i++; } while(j<len2){ list.add(arr2[j]); j++; } return list; }