编程解决半决赛选手排名问题

【问题描述】在选美大奖赛的半决赛现场,有n名选手(2

选手数量: 7 选手得分: 5,3,4,7,3,5,6宣布名次: 3,5,4,1,5,3,2 请编程帮助大奖赛组委会完成半决赛的评分排名工作。

【输入形式】选手数量:7 选手得分:5;3;4;7;3;5;6

【输出形式】选手的排名:3 5 4 1 5 3 2

【样例输入】7 5 3 4 7 3 5 6

【样例输出】3 5 4 1 5 3 2

import java.util.Scanner;

import java.util.ArrayList;

import java.util.Comparator;

public class Main{

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

ArrayList scores = new ArrayList();

ArrayList sortedSco = new ArrayList();

int playerNum = scanner.nextInt();

for (int i = 0;i < playerNum;i++){

int score = scanner.nextInt();

scores.add(score);

if (!sortedSco.contains(score)){

sortedSco.add(score);

}

}

sortedSco.sort(Comparator.reverseOrder());

for(Integer i:scores){

System.out.print((sortedSco.indexOf(i)+1)+" ");

}

}

}

//升序排列:scores.sort(Comparator.naturalOrder())