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