class Solution {
public String[] findRelativeRanks(int[] score) {
String answer[]=new String[score.length];//描述数组
int copyScore[]=new int[score.length];//定义score的拷贝数组
int temp=0;
copyScore=Arrays.copyOf(score,score.length);//将score进行拷贝
Map<Integer,String> map=new HashMap<>();
for (int i = 0; i < copyScore.length; i++) {//将copyScore数组降序排序
for (int j = i+1; j < copyScore.length; j++) {
if(copyScore[i]<copyScore[j]){
temp=copyScore[i];
copyScore[i]=copyScore[j];
copyScore[j]=temp;
}
}
}
//将map集合的前三个键值对分别设置为金银铜牌
if(copyScore.length==1){
map.put(copyScore[0],"Gold Medal");
}
if(copyScore.length==2){
map.put(copyScore[0],"Gold Medal");
map.put(copyScore[1],"Silver Medal");
}
if(copyScore.length>=3){
map.put(copyScore[0],"Gold Medal");
map.put(copyScore[1],"Silver Medal");
map.put(copyScore[2],"Bronze Medal");
}
//将map数组的其他键值对设置为对应名次
for (int i = 3; i < copyScore.length; i++) {
String rank= String.valueOf(i+1);
map.put(copyScore[i],rank);
}
for (int i = 0; i < score.length; i++) {
answer[i]=map.get(score[i]);
}
System.out.println(Arrays.toString(answer));
return answer;
}
}