Given two arrays
arr2, the elements of
arr2 are distinct, and all elements in
arr2 are also in
Sort the elements of
arr1 such that the relative ordering of items in
arr1 are the same as in
arr2. Elements that don’t appear in
arr2should be placed at the end of
arr1 in ascending order.
Input: arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6] Output: [2,2,2,1,4,3,3,9,6,7,19]
arr1.length, arr2.length <= 1000
0 <= arr1[i], arr2[i] <= 1000
First, we put all elements from arr2 into a hashmap. Then we count every element in arr1, if it is in arr2, we count it, else we put it to others. Then we output numbers from hashmap and others.
Running time is 2 ms faster than 73.13% Java submissions.
To find other sort problems, see also Sort algorithms and problems.