题解 | #字符串出现次数的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
            
            
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务