| https://leetcode.com/problems/relative-sort-array | Easy |
|---|
fun relativeSortArray(arr1: IntArray, arr2: IntArray): IntArray {
val count = IntArray(1001) // подсчёт частоты встречаемости элементов arr1
for (num in arr1) {
count[num]++
}
val result = IntArray(arr1.size)
var idx = 0
// добавляем элементы в порядке, заданном arr2
for (num in arr2) {
repeat(count[num]) {
result[idx++] = num
}
count[num] = 0
}
// оставшиеся элементы добавляем в порядке возрастания
for (num in count.indices) {
repeat(count[num]) {
result[idx++] = num
}
}
return result
}