LeetCode#p347-前k个高频元素
package HashTab; import java.util.*; public class p347 { public int[] topKFrequent(int[] nums, int k) { int res[]=new int[k]; if(nums==null||nums.length==0)return res; HashMap<Integer,Integer>map=new HashMap<>(); for(int i=0;i<nums.length;i++){ map.put(nums[i], map.getOrDefault(nums[i],0)+1); } List<Integer>list=new ArrayList<>(); for(int key:map.keySet()){ list.add(key); } Collections.sort(list, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return map.get(o2)-map.get(o1); } }); for(int i=0;i<k;i++){ res[i]=list.get(i); } return res; } }
运行结果: