题解 | #合并表记录#

合并表记录

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

  1. TreeMap会自动按照key的升序排序
  2. map遍历:

for (Map.Entry<Integer, Integer> entry : map.entrySet()) {

int key = entry.getKey();

int value = entry.getValue();

}

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

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Map<Integer, Integer> map = new TreeMap<Integer, Integer>();
        //行数
        int n = sc.nextInt();
        //接收数据
        String[] inputs = new String[n + 1];

//        System.out.println("输入的行数:"+n);

        for (int i = 0; i <= n; i++) {
            //接收键值对
            inputs[i] = sc.nextLine();
            if (inputs[i] != null && inputs[i].length() != 0) {
                int pos = inputs[i].indexOf(" ");
                int key = Integer.parseInt(inputs[i].substring(0, pos));
                int value = Integer.parseInt(inputs[i].substring(pos + 1));

                if (map.get(key) != null) {
                    int preValue = map.get(key);
                    map.put(key, value + preValue);
                } else {
                    map.put(key, value);
                }
            }
        }

        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            int key = entry.getKey();
            int value = entry.getValue();

            System.out.println(key + " " + value);
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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