题解 | #字符串出现次数的TopK问题#
字符串出现次数的TopK问题
http://www.nowcoder.com/practice/fd711bdfa0e840b381d7e1b82183b3ee
首先是对 字符串进行排序 这样就会让不同的字符串顺序不一样 然后当最后生成字典的时候 利用好这个 字典按照键值排序函数 就可以了
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# return topK string
# @param strings string字符串一维数组 strings
# @param k int整型 the k
# @return string字符串二维数组
#
class Solution:
def topKstrings(self , strings: List[str], k: int) -> List[List[str]]:
if len(strings)==0:return 0
strings.sort()
res={}
for i in strings:
if i not in res.keys():
res[i]=1
elif i in res.keys():
res[i]=res[i]+1
res=sorted(res.items(), key=lambda item:item[1],reverse =True)
res=res[0:k]
result=[]
for i in res:
result.append(list(i))
return result