How to find K most frequent elements in an unsorted array with Swift

1 Answer

0 votes
import Foundation

func printKMostFrequentNumbers(arr: [Int], K: Int) {
    var frequencyMap = [Int: Int]()
    
    for number in arr {
        frequencyMap[number, default: 0] += 1
    }
    
    let sortedFrequency = frequencyMap.sorted { $0.value > $1.value }
    
    for i in 0..<K {
        if i < sortedFrequency.count {
            print(sortedFrequency[i].key)
        }
    }
}

let arr = [4, 5, 19, 50, 5, 19, 5, 8, 19, 3, 3, 6, 3, 27, 19, 3, 3]
let K = 2

printKMostFrequentNumbers(arr: arr, K: K)



/*
run:

3
19

*/

 



answered Nov 29, 2024 by avibootz

Related questions

...