題目描述
給出乙個名字,該名字有26個字串組成,定義這個字串的「漂亮度」是其所有字母「漂亮度」的總和。
每個字母都有乙個「漂亮度」,範圍在1到26之間。沒有任何兩個字母擁有相同的「漂亮度」。字母忽略大小寫。
給出多個名字,計算每個名字最大可能的「漂亮度」。
輸入描述:
整數n,後續n個名字
輸出描述:
每個名稱可能的最大漂亮程度
示例1輸入
2zhangsan
lisi
輸出192
101思路:統計字元出現的次數組成字典,按次數降序排序
出現次數最多的給最大漂亮度,以此類推
while true:
try:
n=int(input())
for i in range(n):
string=input()
strdict=dict()
for each in string:
if each in strdict:
strdict[each]+=1
else:
strdict[each]=1
strlist=sorted(strdict.items(),key=lambda x:x[1],reverse=true)
beautylist=
result=0
for i in range(len(strlist)):
result += strlist[i][1] *beautylist[i]
print(result)
except:
break
華為機試45 名字的漂亮度
題目描述 給出乙個名字,該名字有26個字串組成,定義這個字串的 漂亮度 是其所有字母 漂亮度 的總和。每個字母都有乙個 漂亮度 範圍在1到26之間。沒有任何兩個字母擁有相同的 漂亮度 字母忽略大小寫。給出多個名字,計算每個名字最大可能的 漂亮度 輸入描述 整數n,後續n個名字 輸出描述 每個名稱可能...
HJ45 名字的漂亮度(雜湊,sort)
說實話題目表達得有點歧義。並非a到z的 漂亮度 為1 26,而是出現次數最多的字母的 漂亮度 為26,出現次數第二少的字母則為25,以此類推。另外注意本題大小寫不區分。如果使用大頂堆則有點大材小用了,可以直接使用sort進行從小到大排序字母出現的次數。include include include ...
名字的漂亮度
給出乙個名字,該名字有26個字串組成,定義這個字串的 漂亮度 是其所有字母 漂亮度 的總和。每個字母都有乙個 漂亮度 範圍在1到26之間。沒有任何兩個字母擁有相同的 漂亮度 字母忽略大小寫。給出多個名字,計算每個名字最大可能的 漂亮度 輸入 整數n,後續n個名字 n個字串,每個表示乙個名字 輸出 每...