leetcode 506. 相对名次(java & python3)

Arrays.sort(arr, (a, b) -> a - b)是对数组进行排序

Integer.toString(int par1,int par2),par1表示要转成字符串的数字,par2表示要转成的进制表示

谢谢官方题解 我好菜 乌鱼子

class Solution {
    public String[] findRelativeRanks(int[] score) {
        int n = score.length;
        String[] ranking={"Gold Medal","Silver Medal","Bronze Medal"};
        int[][] arr=new int[n][2];

        for(int i=0;i<n;i++){
            arr[i][0]=score[i];
            arr[i][1]=i;
        }
        Arrays.sort(arr,(a,b)->b[0]-a[0]);
        String[] ans=new String[n];

        for(int i=0;i<n;i++){
            if(i>=3){
                ans[arr[i][1]]=Integer.toString(i+1);
            }else{
                ans[arr[i][1]]=ranking[i];
            }
        }
        return ans;
    }
}

python3:

抄的哦 不会写

class Solution:
    ranking = ("Gold Medal","Silver Medal","Bronze Medal")
    def findRelativeRanks(self, score: List[int]) -> List[str]:
        ans = [""] * len(score)
        arr = sorted(enumerate(score), key=lambda x: -x[1])
        for i, (idx, _) in enumerate(arr):
            ans[idx] = self.ranking[i] if i < 3 else str(i + 1)
        return ans

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值