Решение
fun decompressRLElist(nums: IntArray): IntArray {
var totalLength = 0
var i = 0
// Сначала вычисляем общую длину результирующего массива
while (i < nums.size) {
totalLength += nums[i] // nums[i] — это freq
i += 2 // Переходим к следующей паре
}
// Создаём массив нужной длины
val result = IntArray(totalLength)
var index = 0
i = 0
// Проходим по каждой паре [freq, val]
while (i < nums.size) {
val freq = nums[i]
val value = nums[i + 1]
// Заполняем result значением value freq раз
repeat(freq) {
result[index++] = value
}
i += 2 // Переход к следующей паре
}
return result
}