Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,890 questions

51,820 answers

573 users

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

1 Answer

0 votes
function printKMostFrequentElements($arr, $K) {
    $frequency = array();
    $max = -1;
    
    foreach ($arr as $num) {
        if ($num > $max) {
            $max = $num;
        }
        if (isset($frequency[$num])) {
            $frequency[$num]++; 
        } else {
            $frequency[$num] = 1;
        }
    }

    arsort($frequency);

    $keys = array_keys($frequency);
    
    for($i = 0; $i < $K; $i++) {
        echo $keys[$i] . ' ';
    }
}

$arr = array(4, 5, 19, 50, 7, 19, 8, 19, 3, 3, 6, 3, 27, 19, 3, 3);
$K = 2;

printKMostFrequentElements($arr, $K);






/*
run:

3 19 

*/

 



answered May 1, 2023 by avibootz

Related questions

...