题解 | #合并表记录# 在牛客上学习笔试
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
// 使用 StreamTokenizer 读取输入
StreamTokenizer st = new StreamTokenizer(new BufferedReader(
new InputStreamReader(System.in)));
st.nextToken();
int n = (int) st.nval; // 读取键值对的个数
// 使用 TreeMap 存储索引和值的映射关系,以保证按照索引值升序输出
Map<Integer, Integer> map = new TreeMap<>();
// 读取并合并键值对
for (int i = 0; i < n; i++) {
st.nextToken();
int index = (int) st.nval; // 读取索引
st.nextToken();
int value = (int) st.nval; // 读取值
// 将值累加到已有索引的值上,或者添加新的索引和值
map.put(index, map.getOrDefault(index, 0) + value);
}
// 输出合并后的键值对
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}
查看4道真题和解析

