题解 | #合并表记录#
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
关键就是TreeMap,一开始我理解错了,以为是按key输入的顺序排序,用LinkedHashMap反而报错了。
import java.util.Scanner; import java.util.*; import java.util.Map.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Map<Integer,Integer> map = new TreeMap<Integer,Integer>(); Scanner in = new Scanner(System.in); // 首先确定行数 if (in.hasNextLine()){ int length = in.nextInt(); } while(in.hasNextLine()){ String line = in.nextLine(); String[] spl = line.split(" "); if(spl.length == 2) { int a = Integer.parseInt(spl[0]); int b = Integer.parseInt(spl[1]); 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()); } } }