在 Python 中寻找没有冲突的最佳团队的程序
假设我们有两个名为分数和年龄的列表,其中分数[i]和年龄[i]表示篮球比赛中第i个球员的分数和年龄。我们要选择总分最高的球队。这里的队伍得分是队伍中所有队员得分的总和。但是我们不允许在游戏中发生冲突。如果年轻玩家的得分严格高于年长玩家,则存在冲突。
因此,如果输入类似于分数=[5,7,9,14,19],年龄=[5,6,7,8,9],那么输出将是54,因为我们可以选择所有玩家。
示例
让我们看看以下实现以获得更好的理解-
def solve(scores, ages):
sa = [[a,s] for a,s in zip(ages,scores)]
sa.sort()
scores = [s for a,s in sa]
maxScore = 0
n = len(scores)
dp = [0] * n
for i in range(n):
score = scores[i]
dp[i] = score
for j in range(i):
if scores[j] <= score:
dp[i] = max(dp[i],dp[j] + score)
maxScore = max(maxScore, dp[i])
return maxScore
scores = [5,7,9,14,19]
ages = [5,6,7,8,9]
print(solve(scores, ages))输入
[5,7,9,14,19], [5,6,7,8,9]输出结果
54
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练