题解 | #字符串出现次数的TopK问题#

字符串出现次数的TopK问题

https://www.nowcoder.com/practice/fd711bdfa0e840b381d7e1b82183b3ee

class Solution:
    def topKstrings(self , strings: List[str], k: int) -> List[List[str]]:
        # write code here
        from functools import cmp_to_key
        def compare(x,y):
            if x[1]>y[1]:
                return -1
            elif x[1]==y[1]:
                if x[0]<y[0]:
                    return -1
                else:
                    return 1
            else:
                return 1
        dic = {}
        for i in strings:
            if i in dic:
                dic[i] += 1
            else:
                dic[i] = 1
        li = list(dic.items())
        li.sort(key = cmp_to_key(compare))
        res = li[:k]
        for i in range(len(res)):
            res[i] = [res[i][0],res[i][1]]
        return res


全部评论

相关推荐

伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务