用于查找亚军得分的 Python 程序

pythonserver side programmingprogramming更新于 2025/12/18 20:28:17

假设我们有一个不同数量参与者的得分列表。我们必须找到亚军得分。

因此,如果输入为 scores = [5,8,2,6,8,5,8,7],则输出将为 7,因为获胜者的得分为 8,第二大得分为 7。

为了解决这个问题,我们将遵循以下步骤 −

  • winner := -99999
  • runner_up := -99999
  • 对于 scores 中的每个 i,执行
    • if i >winner,则
      • winner := i
      • runner_up := winner
    • 否则,当 i < winner 且 i > runner_up 时,则
      • runner_up := i
  • 返回 runner_up

示例

让我们看看下面的实现以便更好地理解

def solve(scores):
   winner = -99999
   runner_up = -99999
   for i in scores:
      if (i > winner):
         winner, runner_up = i, winner
      elif (i < winner and i > runner_up):
         runner_up = i
   return runner_up

scores = [5,8,2,6,8,5,8,7]
print(solve(scores))

输入

[5,8,2,6,8,5,8,7]

输出

7

相关文章


有用资源