题解 | #成绩排序#
成绩排序
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)); } } } }