题解 | #成绩排序#hashmap存储录入顺序和名字,数组存储录入顺序和分数

成绩排序

http://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        HashMap<Integer,String> map = new HashMap<>();
        while(sc.hasNextLine()){
            int n = Integer.parseInt(sc.nextLine());
            int flag = Integer.parseInt(sc.nextLine());//1是升序,0是降序
            int[][] score = new int[n][2];//姓名编号,成绩
            for(int i=0;i<n;i++){
                String[] nameAndScore = sc.nextLine().split("\\s+");
                score[i][0] = i;
                score[i][1] = Integer.parseInt(nameAndScore[1]);
                map.put(i,nameAndScore[0]);
            }
            Arrays.sort(score,(o1,o2) ->{
                if(flag==0){
                    return o2[1] - o1[1];//按第二列降序排列,如果相等的话,返回0,顺序不变
                }else{
                    return o1[1] - o2[1];//按第二列升序
                }
            });
            for(int i=0;i<n;i++){
                System.out.println(map.get(score[i][0]) + " " + score[i][1]);
            }
        }
    }
}
全部评论
用treemap就行,自定义comparator
3
送花
回复
分享
发布于 2022-09-23 14:19 上海
lamda表达式yyds!!!
1
送花
回复
分享
发布于 2022-05-16 15:28
蔚来
校招火热招聘中
官网直投
二维数组可以直接排序?活久见
1
送花
回复
分享
发布于 2023-02-04 17:11 广东
Arrays.sort排序不是稳定的吧,我看题目以为要写个归并排序
1
送花
回复
分享
发布于 2023-08-09 01:25 广东
自定义的comparator最前面加个 if (o1[1] == o2[1]) { return o1[0] - o2[0]; } 是不是更准确点?
1
送花
回复
分享
发布于 2023-12-16 16:04 湖北
大佬,真牛!!!
点赞
送花
回复
分享
发布于 2022-08-24 14:19 陕西
有个问题,我不太理解呀,就是String类型的名字,为什么放到map中的时候用int来接收呢?
点赞
送花
回复
分享
发布于 2022-08-24 14:26 陕西
第二个问题,那个分隔符到底最终分隔的结果是按照空白分隔了呢,还是按照tab分隔了呢???
点赞
送花
回复
分享
发布于 2022-08-24 14:28 陕西
map应该是多余的。 System.out.println(nameAndScore[score[i][0]] + " " + score[i][1]);
点赞
送花
回复
分享
发布于 2022-09-01 11:59 浙江
这个方法真聪明。。。
点赞
送花
回复
分享
发布于 2022-09-05 20:53 河北
评论区从没让我失望
点赞
送花
回复
分享
发布于 2023-03-13 13:07 广东
二维数组排序,学到了,感谢
点赞
送花
回复
分享
发布于 2023-03-26 11:57 北京
用arraylist 不用考虑成绩相同录入先后的问题
点赞
送花
回复
分享
发布于 2023-04-09 12:55 上海

相关推荐

43 10 评论
分享
牛客网
牛客企业服务