题解 | #成绩排序#
成绩排序
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); int n = in.nextInt(); int order = in.nextInt(); PriorityQueue<String[]> queue = null; if (order == 1) { queue = new PriorityQueue<>(new Comparator<String[]>() { public int compare(String[] str1, String[] str2) { return str1[1].equals(str2[1]) ? Integer.parseInt(str1[2]) - Integer.parseInt(str2[2]) : Integer.parseInt(str1[1]) - Integer.parseInt(str2[1]); } }); } else { queue = new PriorityQueue<>(new Comparator<String[]>() { public int compare(String[] str1, String[] str2) { return str1[1].equals(str2[1]) ? Integer.parseInt(str1[2]) - Integer.parseInt(str2[2]) : Integer.parseInt(str2[1]) - Integer.parseInt(str1[1]); } }); } for (int i = 0; i < n; i++) { String[] strs = new String[3]; strs[0] = in.next(); strs[1] = in.next(); strs[2] = String.valueOf(i); queue.add(strs); } for(int i = 0; i < n; i++){ String[] strs = queue.poll(); System.out.println(strs[0] + " " + strs[1]); } } }