1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 506. 相对名次

506. 相对名次

时间:2022-06-01 20:04:11

相关推荐

506. 相对名次

506. 相对名次

给你一个长度为 n 的整数数组 score ,其中 score[i] 是第 i 位运动员在比赛中的得分。所有得分都 互不相同 。

运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高,名次第 2 的运动员得分第 2 高,依此类推。运动员的名次决定了他们的获奖情况:

名次第 1 的运动员获金牌 “Gold Medal” 。名次第 2 的运动员获银牌 “Silver Medal” 。名次第 3 的运动员获铜牌 “Bronze Medal” 。从名次第 4 到第 n 的运动员,只能获得他们的名次编号(即,名次第 x 的运动员获得编号 “x”)。

使用长度为 n 的数组answer 返回获奖,其中 answer[i] 是第 i 位运动员的获奖情况。

此题中主要是先使用Sorted函数对原始的score数组进行逆序排序,然后重新赋值给一个新的数组,然后找到旧数组中的值对应在新数组中的下标。

class Solution(object):def findRelativeRanks(self,score):bb=sorted(score,reverse=True)cc=[]for i in range(len(score)):dd=bb.index(score[i])if dd==0:cc.append('Gold Medal')elif dd==1:cc.append('Silver Medal')elif dd==2:cc.append('Bronze Medal')else:cc.append(str(dd+1))return cc

备注:

需要区分sorted函数和sort函数:

sort函数是一种就地排序的函数,会直接改变原始数组的值,这种排序不需要赋值,使用sort后即可生效。sorted函数使用后,不会改变原始数组的值,需要重新申请空间进行赋值,这个函数一般用于原始的数组还有用的情况下,所以上题中使用了sorted函数。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。