def top_k_frequent(nums,k):
count={}
for n in nums: count[n]=count.get(n,0)+1
return sorted(count,key=count.get,reverse=True)[:k]
public int[] topKFrequent(int[] nums,int k){
Map<Integer,Integer> cnt=new HashMap<>();
for(int n:nums) cnt.put(n,cnt.getOrDefault(n,0)+1);
return cnt.entrySet().stream().sorted((a,b)->b.getValue()-a.getValue()).limit(k).mapToInt(Map.Entry::getKey).toArray();
}
Python sorted(key=count.get) concise. Java Stream verbose.
def top_k_frequent(nums,k):
count={}
for n in nums: count[n]=count.get(n,0)+1
return sorted(count,key=count.get,reverse=True)[:k]
public int[] topKFrequent(int[] nums,int k){
Map<Integer,Integer> cnt=new HashMap<>();
for(int n:nums) cnt.put(n,cnt.getOrDefault(n,0)+1);
return cnt.entrySet().stream().sorted((a,b)->b.getValue()-a.getValue()).limit(k).mapToInt(Map.Entry::getKey).toArray();
}
1. Count frequencies 2. Sort desc 3. Return top k