鱼C论坛

 找回密码
 立即注册
查看: 9825|回复: 42

[已解决]Python:每日一题 320

[复制链接]
发表于 2020-1-31 16:07:34 | 显示全部楼层
  1. def solve_320(str1:str):
  2.     dict1 = {}
  3.     for i in str1:
  4.         if i not in dict1:
  5.             dict1[i]=1
  6.         else:
  7.             dict1[i]+=1
  8.     count,value = 0,[]
  9.     sorted(zip(dict1.values(),dict1.keys()),reverse= True)
  10.     for i in dict1.values():
  11.         value.append(i)
  12.     for j in range(1,len(value)):
  13.         if value[j] == 1:
  14.             if value[0] == 1:
  15.                 count+=len(value)-j
  16.             else:
  17.                 count+=len(value)-j-1
  18.             break
  19.         elif value[j] == value[j-1]:
  20.             value[j]-=1
  21.             count+=1
  22.     return count
  23. print(solve_320("abcd"))
复制代码

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-31 18:15:32 | 显示全部楼层
zltzlt 发表于 2020-1-31 17:39
解答错误

输入:"aaabbbccc"
  1. def solve_320(str1:str):
  2.     dict1 = {}
  3.     for i in str1:
  4.         if i not in dict1:
  5.             dict1[i]=1
  6.         else:
  7.             dict1[i]+=1
  8.     count,value = 0,[]
  9.     for i in dict1.values():
  10.         value.append(i)
  11.     value.sort(reverse = True)
  12.     ls = [value[0]]
  13.     for j in range(1,len(value)):
  14.         if value[j] >= min(ls):
  15.             if min(ls)==0:
  16.                 count+=value[j]
  17.             else:
  18.                 count+=(value[j]-min(ls))+1
  19.                 value[j] = min(ls)-1            
  20.         ls = value[:j+1]
  21.     return count
  22. print(solve_320("abcddajdfhsdfiitujhjsfjajjajjjjjajkakdksakdjkaskjdfhjfjkadawiwuqehuhhdmcnjfhajdnasdlkasdjkaljfheufhauiiqedqwioiadfnc"))
复制代码

菜鸟与大佬的差距就是,大佬啥都考虑的清清楚楚。而我就漏这漏那,不严谨....

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
zltzlt + 2 + 2

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-1 21:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表