Coding 【每日一题】相对排名问题 -Python-20211001

Jack · 2021年10月01日 · 最后由 Jack 回复于 2021年10月02日 · 14 次阅读
本帖已被设为精华帖!
  1. 问题描述: 全运会期间,根据 N 名运动员得分情况,找到相对等级和获得最高分的 3 人,分别获得金、银、铜牌。N 是正整数,且不超过 10000。运动员成绩默认唯一。
  2. 问题示例: 输入: [5, 4, 3, 2, 1] 输出: ["金牌", "银牌", "铜牌", "4", "5"] 注: 前三名成绩较高,获得金银铜,对于后两位运动员,只输出相对等级 (排名),第四、第五名
Jack 将本帖设为了精华贴 10月01日 18:37

参考代码:

class Source:
    def runFunc(self, nums):
        score = {}
        for i in range(len(nums)):
            score[nums[i]] = i
        sortScore = sorted(nums, reverse=True)
        answer = [0] * len(nums)
        for i in range(len(sortScore)):
            print(i)
            res = str(i + 1)
            if i == 0:
                res = "Gold medal"
            if i == 1:
                res = "Silver medal"
            if i == 2:
                res = "Bronze medal"
            answer[score[sortScore[i]]]  = res
        return answer
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册