题解 | #名字的漂亮度#

名字的漂亮度

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

python3

def beautiful_degree(name):
    string = []           # 储存字符
    string_num = [0]*26   # 储存字符数量
    beauty = 0            # 漂亮度
    for item in name:
        if item not in string:  # 计算每个字符出现的次数
            string.append(item)
            string_num[string.index(item)] += 1
        else:
            string_num[string.index(item)] += 1
    string_num = sorted(string_num[:len(string)])[::-1]    # 将字符出现次数从大到小排序便于计算
    for i in range(len(string_num)):
        beauty += (26 - i) * string_num[i]
    return beauty

while True:
    try:
        N = int(input().strip())      # 名字个数
        beauty = []                   # 漂亮度
        for i in range(N):
            beauty.append(beautiful_degree(input().strip()))

        for line in beauty:
            print(int(line))
    except:
        break
全部评论

相关推荐

科大讯飞消费者bg二级研究院 语音算法岗 24k*14
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务