LeetCode 692 前K個高頻單詞

2021-09-29 21:46:29 字數 967 閱讀 5042

題目:

給一非空的單詞列表,返回前 k 個出現次數最多的單詞。

返回的答案應該按單詞出現頻率由高到低排序。如果不同的單詞有相同出現頻率,按字母順序排序。

示例 1:

輸入: [

"i", "love", "leetcode", "i", "love", "coding"

], k = 2

輸出: [

"i", "love"

]解析: "i" 和 "love" 為出現次數最多的兩個單詞,均為2次。

注意,按字母順序 "i" 在 "love" 之前。

原始碼:

class solution 

// 把這些單詞放在乙個 arraylist 當中,並進行排序

// 自定義比較規則

list result = new arraylist<

>

(map.keyset());

// sort方法的第二個引數中指定乙個比較器物件

// 來描述自定製比較規則(按出現次數來排序)

collections.sort(result, new mycomp(map))

; // sublist 能夠返回乙個 list 中的子區間

// [0,k)前閉後開區間

return result.sublist(0, k);}

class mycomp implements comparator

@override

public int compare(string o1, string o2)

// 降序排序寫成 count2 - count1

// 公升序排序寫成 count1 - count2

return count2 - count1;}}

}

前K個高頻單詞 leetcode 692

給一非空的單詞列表,返回前 k 個出現次數最多的單詞。返回的答案應該按單詞出現頻率由高到低排序。如果不同的單詞有相同出現頻率,按字母順序排序。示例 1 輸入 i love leetcode i love coding k 2 輸出 i love 解析 i 和 love 為出現次數最多的兩個單詞,均為...

LeetCode692 前K個高頻單詞

給一非空的單詞列表,返回前 k 個出現次數最多的單詞。返回的答案應該按單詞出現頻率由高到低排序。如果不同的單詞有相同出現頻率,按字母順序排序。示例 1 輸入 i love leetcode i love coding k 2 輸出 i love 解析 i 和 love 為出現次數最多的兩個單詞,均為...

leetcode 692 前K個高頻單詞

使用hashmap記錄 單詞 與 對應的出現次數hashmap 將map中的鍵放入列表list中排序 排序規則 如果出現次數相同,則直接使用字元轉的排序規則 如果出現次數不同,則按照次數從大到小排序 class solution listkeys new arraylist for map.entr...