python 前k個高頻單詞

2021-10-09 02:52:56 字數 1019 閱讀 1301

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

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

import numpy as np

defresult_1

(str_list,k)

: str_list_set=np.sort(

list

(set

(str_list)))

str_list_set_number=[0

for i in

range

(len

(str_list_set))]

str_dict=

dict

(zip

(str_list_set,str_list_set_number)

)for str1 in str_list:

if str1 in str_list_set:

str_dict[str1]+=1

keys=

values=

for key,value in str_dict.items():

values_idx=np.argsort(values)

keys=np.array(keys)

values=np.array(values)

return keys[values_idx[

-k:]

],values[values_idx[

-k:]

]if __name__ ==

'__main__'

: str_list=

['i'

,'love'

,'leetcode'

,'i'

,'love'

,'coding'

] k=

2 str1,idx_list=result_1(str_list,k)

print

(str1,idx_list)

前k個高頻單詞

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

前K個高頻單詞

解題思路 static class mycomparator implements comparator override public intcompare string o1,string o2 o1 o1 o2返回 0 o1 o2返回0 count1 count2公升序排序 count2 co...

前K個高頻單詞

題目鏈結 public static listtopkfrequent string words,int k set set hashmap.entryset list list new arraylist set collections.sort list,new comparator int c...