| https://leetcode.com/problems/rank-transform-of-an-array/description/ | Easy |
|---|
fun arrayRankTransform(arr: IntArray): IntArray {
// Создаем копию массива и сортируем её, удаляя дубликаты
val sortedUnique = arr.distinct().sorted()
// Создаем карту, где каждому числу соответствует его ранг
val rankMap = mutableMapOf<Int, Int>()
for (i in sortedUnique.indices) {
rankMap[sortedUnique[i]] = i + 1
}
// Преобразуем исходный массив, заменяя элементы на их ранги
val result = IntArray(arr.size)
for (i in arr.indices) {
result[i] = rankMap[arr[i]]!!
}
return result
}