【LeetCode刷题-排序】--506.相对名次

506.相对名次

【LeetCode刷题-排序】--506.相对名次_第1张图片

class Solution {
    public String[] findRelativeRanks(int[] score) {
        //建立每位运动员的成绩和名次之间的映射关系
        Map<Integer,Integer> map = new HashMap<>();
        for(int i = 0;i< score.length;i++){
            map.put(score[i],i);
        }
        Arrays.sort(score);
        String[] result = new String[score.length];
        for(int i = 0;i<score.length;i++){
            int s = map.get(score[i]);
            if(i == score.length-1) result[s] = "Gold Medal";
            else if(i == score.length-2) result[s] = "Silver Medal";
            else if(i ==score.length-3) result[s] ="Bronze Medal";
            else result[s] = String.valueOf(score.length-i);
        }
        return result;
    }
}

你可能感兴趣的:(#,排序,leetcode,算法)