题解 | 合并表记录
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.TreeMap; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int num = in.nextInt(); Map<Integer, Integer> map = new TreeMap<>(); for (int i = 0; i < num; i++) { int a = in.nextInt(); int b = in.nextInt(); if (map.containsKey(a)) { map.put(a, map.get(a) + b); } else { map.put(a, b); } } for (Map.Entry<Integer, Integer> entry : map.entrySet()) { System.out.println(entry.getKey() + " " + entry.getValue()); } } }
可以直接用map存储表索引和数值,索引对应key值,value就是对表索引相同的记录进行合并后的结果,然后对key值进行排序即可