题解 | #合并表记录#

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

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[] idx = new int[n];//保存key
        int[] value = new int[n];//保存value
        for (int i = 0; i < n; i++) {
            idx[i] = in.nextInt();
            value[i] = in.nextInt();
        }
        Map<Integer,Integer> map = new TreeMap<>();//注意利用TreeMap的自动排序特性(以int作为key时)

        for (int i = 0; i < n; i++) {
            if (map.get(idx[i]) == null) {//首次出现,直接插入
                map.put(idx[i], value[i]);
            } else {//已经存在,则合并value值后插入
                int tmp = (int) map.get(idx[i]);
                map.put(idx[i], tmp + value[i]);
            }
        }
        for (Integer key : map.keySet()) {//遍历输出
            System.out.print(key + " ");
            System.out.println(map.get(key));
        }
    }
}

全部评论

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 14:35
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务