按字母顺序进行比较排序

629. 前K个高频单词

按照如下顺序

  1. 先记录下每个单词的出现次数,保存在map中。

  2. 然后把字母放在ans数组中。

  3. 最后对ans数组自定义排序,若出现次数相同,则按字母顺序排序;否之,按照次数从大到小排序。

  4. 返回ans的前k个单词。

如下给出重要部分:按题目要求自定义排序ans

List<String> ans = new ArrayList<>();
Collections.sort(ans, new Comparator<String>(){
     public int compare(String w1, String w2){
          return map.get(w1) == map.get(w2) ? w1.compareTo(w2)
          : map.get(w2) - map.get(w1) ;
     }
});

return ans.subList(0, k);
posted @ 2021-05-20 18:54  acchris  阅读(312)  评论(0)    收藏  举报