题解 | #名字的漂亮度#
名字的漂亮度
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) 文章被收录于专栏
华为实习机试题解