题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int flag = Integer.parseInt(br.readLine());
Map<Integer, List<String>> map = new HashMap<>();
String str;
while ((str = br.readLine()) != null && !str.isEmpty()) {
String[] strs = str.split(" ");
int key = Integer.parseInt(strs[1]);
List<String> names = map.getOrDefault(key, new ArrayList<>());
names.add(strs[0]);
map.put(key, names);
}
int[] nums = new int[map.size()];
int index = 0;
for (int key : map.keySet()) {
nums[index++] = key;
}
Arrays.sort(nums);
if (flag == 1) { // 升序输出
for (int i : nums) {
for (String name : map.get(i)) {
System.out.println(name + " " + i);
}
}
} else {
for (int i = nums.length - 1; i >= 0; i--) {
int key = nums[i];
for (String name : map.get(key)) {
System.out.println(name + " " + key);
}
}
}
}
}
查看14道真题和解析

OPPO公司福利 1114人发布