27游戏英雄升级潜力评估 一行代码解决

问题描述

小 U 在一款挂机游戏中拥有 n 个英雄。游戏中有一种历练升级机制,每天可以选择两个英雄进行历练,如果两位英雄的等级相同,则他们的等级都不会改变。如果英雄等级不同,那么等级较高的英雄会增加 1 级,而等级较低的英雄则保持不变。

小 U 希望至少有一个英雄能够达到2000000000000000级,现需要确定有多少英雄有潜力通过历练达到这个目标等级。

问题分析

要使至少有一个英雄达到2000000000000000级,必须确保有英雄能够不断提升等级。观察历练规则:

  • 相同等级的英雄无法提升。
  • 不同等级的英雄中,等级较高的英雄每次历练都会增加 1 级。

因此,只有不是最低等级的英雄才有可能通过不断历练达到高等级。最低等级的英雄无法提升,因此它们不具备达成目标的潜力。

解题思路

  1. 找出最低等级:确定所有英雄中当前的最低等级。
  2. 计算最低等级英雄的数量:这些英雄无法通过历练提升。
  3. 潜力英雄数量:总英雄数减去最低等级英雄的数量。

代码实现

1
2
3
4
5
6
7
def solution(n: int, u: list) -> int:
return n - u.count(min(u))

if __name__ == '__main__':
print(solution(n = 5, u = [1, 2, 3, 1, 2]) == 3)
print(solution(n = 4, u = [100000, 100000, 100000, 100000]) == 0)
print(solution(n = 6, u = [1, 1, 1, 2, 2, 2]) == 3)

27游戏英雄升级潜力评估 一行代码解决
https://kongshuilinhua.github.io/2024/12/22/27游戏英雄升级潜力评估-一行代码解决/
作者
FireFLy
发布于
2024年12月22日
许可协议