1122. Relative Sort Array
Easy
Given two arrays arr1
and arr2
, the elements of arr2
are distinct, and all elements in arr2
are also in arr1
.
Sort the elements of arr1
such that the relative ordering of items in arr1
are the same as in arr2
. Elements that do not appear in arr2
should be placed at the end of arr1
in ascending order.
Example 1:
- 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]
Example 2:
- Input: arr1 = [28,6,22,8,44,17], arr2 = [22,28,8,6]
- Output: [22,28,8,6,17,44]
Constraints:
1 <= arr1.length, arr2.length <= 1000
0 <= arr1[i], arr2[i] <= 1000
- All the elements of
arr2
are distinct. - Each
arr2[i]
is inarr1
.
Solution:
class Solution {
/**
* @param Integer[] $arr1
* @param Integer[] $arr2
* @return Integer[]
*/
function relativeSortArray($arr1, $arr2) {
$result = array();
for ($i = 0; $i < count($arr2); $i++) {
for ($j = 0; $j < count($arr1); $j++) {
if ($arr1[$j] == $arr2[$i]) {
array_push($result, $arr1[$j]);
$arr1[$j] = -1;
}
}
}
sort($arr1);
for ($i = 0; $i < count($arr1); $i++) {
if ($arr1[$i] != -1) {
array_push($result, $arr1[$i]);
}
}
return $result;
}
}
Contact Links
If you found this series helpful, please consider giving the repository a star on GitHub or sharing the post on your favorite social networks 😍. Your support would mean a lot to me!
If you want more helpful content like this, feel free to follow me: