题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int zs = sc.nextInt();//将要输入的键值对的个数
TreeMap<Integer, Integer> map = new TreeMap<>(); // 输出结果要求有序!
int jl = 0;//用来记录下面while中已经获取的输入的键值对个数,每输入一对自增1,达到指定数量退出循环。
int lx ;//用来存放输入的键。
while (sc.hasNext()) {
lx = sc.nextInt();
//map.getOrDefault(lx,0)如果该集合中存在该键值对则返回value,没有就返回0.
map.put(lx,map.getOrDefault(lx,0)+sc.nextInt());
jl++;
if (jl==zs){
break;
}
}
for (Integer i : map.keySet()) {
System.out.println(i + " " + map.get(i));
}
}
}
#华为机试#
import java.util.*;
public class Main{
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int zs = sc.nextInt();//将要输入的键值对的个数
TreeMap<Integer, Integer> map = new TreeMap<>(); // 输出结果要求有序!
int jl = 0;//用来记录下面while中已经获取的输入的键值对个数,每输入一对自增1,达到指定数量退出循环。
int lx ;//用来存放输入的键。
while (sc.hasNext()) {
lx = sc.nextInt();
//map.getOrDefault(lx,0)如果该集合中存在该键值对则返回value,没有就返回0.
map.put(lx,map.getOrDefault(lx,0)+sc.nextInt());
jl++;
if (jl==zs){
break;
}
}
for (Integer i : map.keySet()) {
System.out.println(i + " " + map.get(i));
}
}
}
#华为机试#