import java.util.*;
class Solution {
public List<Integer> topKFrequent(int[] nums, int k) {
Map<Integer,Integer> m = new LinkedHashMap<>();
//存入map
for(int i=0;i<nums.length;i++){
if(m.containsKey(nums[i])){
int temp = m.get(nums[i])+1;
m.put(nums[i],temp);
}else{
m.put(nums[i],1);
}
}
List<Map.Entry<Integer,Integer> > l = new ArrayList<>(m.entrySet());
Collections.sort(l,new Comparator<Map.Entry<Integer,Integer>>(){
@Override
public int compare(Map.Entry<Integer,Integer> o1,
Map.Entry<Integer,Integer> o2){
return o2.getValue()-o1.getValue();
}
});
List<Integer> res = new ArrayList<Integer>();
for(int i = 0;i<k;i++){
res.add(l.get(i).getKey());
}
return res;
}
}
题目