题解 | #名字的漂亮度#

名字的漂亮度

https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3

import sys
def beautiful(st):
    lst = list(st)
	#统计各字符出现的次数
    dic = {}
    for s in lst:
        dic[s] = dic.get(s,0) + 1
    dic = dict(sorted(dic.items(),key=lambda x:x[1],reverse=True))
	#降序排列,恢复成字典
    lst = list(dic.values())        #各字符出现次数,倒序
    l = range(26,26-len(dic),-1)    #各字符权重值,从26倒序
    res = 0
    for i in range(len(dic)):
        res += int(lst[i])*l[i]     #乘起来相加
    return res
n = int(input())
for i in range(n):
    st = input()
    print(beautiful(st))

全部评论

相关推荐

昨天 09:57
已编辑
武汉大学 Java
点赞 评论 收藏
分享
03-04 19:02
云南大学 Java
Yki_:没挂,只是没人捞,该干啥干啥,等着就好了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务