首页 > 其他分享 >Leedcode-相对名次

Leedcode-相对名次

时间:2024-05-21 13:08:05浏览次数:14  
标签:ranking 名次 相对 res Leedcode 列表 score 排名 成绩

自己写的:

from typing import List

class Solution:
    def findRelativeRanks(self, score: List[int]) -> List[str]:
        # 获取成绩列表的长度
        n = len(score)
        
        # 复制原始成绩列表
        score_former = score
        
        # 对成绩列表进行排序并逆序排列
        score_after = sorted(score)
        score_after.reverse()
        
        # 初始化结果列表,长度与成绩列表相同,初始值为-1
        res = [-1] * n
        
        # 遍历每一个成绩,找到其排名并分配对应的奖牌或排名
        for i in range(n):
            # 找到原始成绩在排序后列表中的排名(加1表示实际排名)
            ranking = score_after.index(score_former[i]) + 1
            
            # 根据排名分配奖牌或排名
            if ranking == 1:
                res[i] = 'Gold Medal'         # 第一名:金牌
            elif ranking == 2:
                res[i] = 'Silver Medal'       # 第二名:银牌
            elif ranking == 3:
                res[i] = 'Bronze Medal'       # 第三名:铜牌
            else:
                res[i] = str(ranking)         # 其他名次:直接使用数字排名
        
        # 返回结果列表
        return res

 

标签:ranking,名次,相对,res,Leedcode,列表,score,排名,成绩
From: https://www.cnblogs.com/yyyjw/p/18203752

相关文章

  • Leedcode-二叉搜索树中的众数
    自己写的:classSolution:#findMode方法接受一个二叉树的根节点root,并返回一个列表,其中包含树中出现次数最多的值deffindMode(self,root:Optional[TreeNode])->List[int]:#初始化一个队列,用于层次遍历二叉树queue=[root]#初始化......
  • Leedcode-键盘行
    自己写的:classSolution:#定义findWords方法,该方法接受一个字符串列表words作为参数deffindWords(self,words:List[str])->List[str]:#定义三个字符串,分别包含键盘上三行的字母str1="qwertyuiopQWERTYUIOP"#第一行字母str2=......
  • Leedcode-下一个更大元素 I
    自己写的:classSolution:defnextGreaterElement(self,nums1:List[int],nums2:List[int])->List[int]:res=[]#结果列表,用于存储每个nums1中元素在nums2中的下一个更大元素num1_ptr=0#指向nums1当前元素的指针num2_ptr=0#......
  • Leedcode-提莫攻击
    自己写的,中间算法有遗漏的遍历classSolution:deffindPoisonedDuration(self,timeSeries:List[int],duration:int)->int:ifduration==0:#如果duration为0,则返回0,因为没有中毒时间return0count=0#初始化中毒总时间......
  • Leedcode-构造矩形
    自己写的classSolution:defconstructRectangle(self,area:int)->List[int]:#计算给定面积的平方根root=area**0.5#初始化结果列表,默认为[1,area],即长为面积,宽为1的情况temp=[1,area]#如果面积是一个完全......
  • Leedcode-最大连续 1 的个数
    自己写的:fromtypingimportListclassSolution:deffindMaxConsecutiveOnes(self,nums:List[int])->int:#初始化最大连续1的计数器和临时连续1的计数器count=0temp=0#获取列表长度n=len(nums)#初......
  • Leedcode-密钥格式化
    自己写的:classSolution:deflicenseKeyFormatting(self,s:str,k:int)->str:#将字符串转换为列表,方便操作new_S=list()#遍历输入字符串foriins:#如果当前字符不是'-',则添加到新列表中ifi!......
  • Leedcode-数字的补数
    自己写的:classSolution:deffindComplement(self,num:int)->int:#初始化一个空字符串,用于存储二进制表示bin_str=''#将输入的数字转换为二进制表示,存储在bin_str中whilenum>0:bin_str=str(num......
  • Leedcode-岛屿的周长
    自己写的:classSolution:defislandPerimeter(self,grid:List[List[int]])->int:#初始化周长计数器count=0#遍历二维网格的行foriinrange(len(grid)):#遍历二维网格的列forjinrange(len(gr......
  • leedcode-重复的子字符串
    classSolution:defrepeatedSubstringPattern(self,s:str)->bool:#获取字符串的长度n=len(s)#初始化指针指向字符串的最后一个字符rptr=n-1#在指针到达字符串的第一个字符之前循环whilerptr>0:......