题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNext()) { // 注意 while 处理多个 case
int a = Integer.parseInt(in.nextLine());
int b = Integer.parseInt(in.nextLine());
List<Integer> list = new ArrayList<>();
Map<Integer,List<String>> map = new HashMap<>();
for(int i=0;i<a;i++){
String[] str = in.nextLine().split(" ");
int fen = Integer.parseInt(str[1]);
if(map.get(fen)==null) {
List<String> gg = new ArrayList<>();
gg.add(str[0]);
map.put(fen,gg);
}else{
map.get(fen).add(str[0]);
}
list.add(fen);
}
Collections.sort(list);
if(b==0)Collections.reverse(list);
int sum =0;
for(int i = 0;i<list.size();i++){
if(i>0&&list.get(i)==list.get(i-1))sum++;
else sum = 0;
System.out.println(map.get(list.get(i)).get(sum)+" "+list.get(i));
}
}
}
}
查看13道真题和解析