華為機試8合併map要素
1337 ワード
タイトルの説明
データテーブルレコードにはテーブルインデックスと数値(int範囲の整数)が含まれています.テーブルインデックスと同じレコードをマージし、同じインデックスの数値を加算し、key値の昇順に出力してください.
説明を入力:
キー値のペアの数を入力し、ペアのindexとvalue値をスペースで区切って入力します.
出力の説明:
結合後のキー値ペアを出力(複数行)
例1
入力
4
0 1
0 2
1 2
3 4
しゅつりょく
0 3
1 2
3 4
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
TreeMap map = new TreeMap<>();
while (sc.hasNext()) {
int num = sc.nextInt();
for (int i = 0; i < num; ++i) {
int key = sc.nextInt();
int value = sc.nextInt();
if (map.containsKey(key))
map.put(key, map.get(key) + value);
else
map.put(key,value);
}
Iterator it = map.entrySet().iterator();
while(it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
System.out.println(entry.getKey()+" "+entry.getValue());
}
//for (Map.Entry temp : map.entrySet()) {
// System.out.println(temp.getKey()+" "+temp.getValue());
//}
}
}