题解 | #合并表记录#

合并表记录

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

import java.util.*;
import java.util.stream.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别

        Map<Integer, Integer> dict = new HashMap<>();
        while (in.hasNext()) { // 注意 while 处理多个 case

            Integer counter = in.nextInt();

            IntStream.range(1, counter + 1).forEach(x-> {
                Integer key = in.nextInt();
                Integer val = in.nextInt();
                if (dict.containsKey(key)) {
                    Integer newVal = dict.get(key) + val;
                    dict.put(key, newVal);

                } else {
                    dict.put(key,val);
                }

            });
        }


        List<Integer> sortedKeys = dict.keySet().stream().sorted((o1, o2)-> {
            return o1.compareTo(o2);
        }).collect(Collectors.toList());

        sortedKeys.stream().forEach(x-> {
            System.out.println(String.format("%d %d", x, dict.get(x)));
        });


    }
}

全部评论

相关推荐

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