fun printKMostFrequentNumbers(arr: IntArray, K: Int) {
val mp = mutableMapOf<Int, Int>()
val size = arr.size
for (i in 0 until size) {
mp[arr[i]] = mp.getOrDefault(arr[i], 0) + 1
}
val sortedMap = mp.toList().sortedByDescending { it.second }
for (i in 0 until K) {
println(sortedMap[i].first)
}
}
fun main() {
val arr = intArrayOf(4, 5, 19, 50, 5, 19, 5, 8, 19, 3, 3, 6, 3, 27, 19, 3, 3)
val K = 2
printKMostFrequentNumbers(arr, K)
}
/*
run:
3
19
*/