题解 | #合并表记录# 使用TreeMap

合并表记录

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

思路

使用TreeMap,其中键值对,按照键的升序进行排列;
每有一组键值对,则根据键进行值的查找,然后将值进行叠加,并更新改建对应的新值;
打印结果;

import java.util.Map;
import java.util.TreeMap;
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Map<Integer, Integer> map = new TreeMap<>();
        while(sc.hasNext()) {
            int n = sc.nextInt(); // 键值对的个数
            for(int i = 0; i < n; i++) {
                int k = sc.nextInt();
                int v = sc.nextInt();
                map.put(k, v + map.getOrDefault(k, 0));
            }
        }

        for(Map.Entry entry : map.entrySet()) {
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务