题解 | #名字的漂亮度#

名字的漂亮度

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

num = int(input())
for i in range(num):
    b = list(input())
    s = {} #统计字符出现的次数
    for i in range(len(b)):
        if(b[i] not in s):
            s[b[i]] = 1 #第一次出现加入s
        else:
            s[b[i]] += 1 #不是第一次出现则出现的次数加一
    c = []
    d = sorted(s.items(),key=lambda ele:ele[1],reverse = True) #对s按照字符出现的次数从大到小排序
    num = 0
    for i in range(len(d)):
        num += (26-i) * (int(d[i][1])) #出现的最多次数的字符赋予26,第二多的赋予25,以此类推,他们,他们出现的次数和权值由此得到最大值
    print(num)
华为机试题解(prod.by kedao) 文章被收录于专栏

华为实习机试题解

全部评论

相关推荐

shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
1 2 评论
分享
牛客网
牛客企业服务