[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/mJackie/leetcode/master/code/lc347.java [Back]  [Original]

package code;
/*
 * 347. Top K Frequent Elements
 * k
 * Medium
 * Hash Table, Heap
 * hashmapO(n)nlg(k)
 * Tips
 */
import java.util.*;

public class lc347 {
    public static void main(String[] args) {
        int[] nums = {1,1,1,2,2,3};
        int k = 2;
        System.out.println(topKFrequent(nums,2));
    }
    public static List topKFrequent(int[] nums, int k) {
        HashMap hm = new HashMap();
        TreeMap tm = new TreeMap();
        List res = new ArrayList();
        for (int i = 0; i < nums.length ; i++) {    //hashmap
            hm.put(nums[i], hm.getOrDefault(nums[i], 0)+1);
        }
        for( int i : hm.keySet() ){ //key,valuetreemap  TreeMap
            int freq = hm.get(i);
            if(tm.containsKey(freq))
                tm.get(freq).add(i);
            else {
                tm.put(freq, new ArrayList());
                tm.get(freq).add(i);
            }
        }
        while(res.size()= 0 && res.size() < k; pos--) {
            if (bucket[pos] != null) {
                res.addAll(bucket[pos]);
            }
        }
        return res;
    }
}

Web Proxy Viewer  |  New URL  |  Original Page