题解 | #合并表记录#
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
import java.util.Map; import java.util.Scanner; import java.util.TreeMap; /** * 合并表记录 * @author wangchao * @since JDK 1.8 * create at 2021-11-04 11:24 */ public class Main { //描述 //数据表记录包含表索引和数值(int范围的正整 数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。 // // //提示: //0 <= index <= 11111111 //1 <= value <= 100000 // //输入描述: //先输入键值对的个数n(1 <= n <= 500) //然后输入成对的index和value值,以空格隔开 // //输出描述: //输出合并后的键值对(多行) public static void main(String[] args) { Scanner sc = new Scanner(System.in); int size = sc.nextInt(); Map<Integer,Integer> map = new TreeMap<>(); int key = 0; for(int i = 0;i<size;i++){ key = sc.nextInt(); if(map.containsKey(key)){ map.put(key,map.get(key)+sc.nextInt()); }else { map.put(key, sc.nextInt()); } } map.forEach((k,v)->{ System.out.println(k+" "+v); }); } }