--------------------------------------------------------------------------------------------------------------------------------------------------------
时间限制:1秒 空间限制:32768K 代码长度限制 100 KB
--------------------------------------------------------------------------------------------------------------------------------------------------------
题目描述
为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术 最强的那个学校。
输入描述:
输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表 的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出描述:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入例子:
6 3 65 2 80 1 100 2 70 3 40 3 0
输出例子:
2 150
--------------------------------------------------------------------------------------------------------------------------------------------------------
实现思路:
(1).用map存储相同key值的成绩和,在存入的过程中,也比较最大值,减少循环次数。
--------------------------------------------------------------------------------------------------------------------------------------------------------
package com.biyao.algorithm.niuke.a1;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main_a1_022 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
int n = scan.nextInt();
int maxKey = 0,maxScore = 0;
Map<Integer,Integer> scoreMap = new HashMap<Integer,Integer>();
for (int i = 0; i < n; i++) {
int key = scan.nextInt();
int score = scan.nextInt();
if(scoreMap.containsKey(key)){
scoreMap.put(key, scoreMap.get(key)+score);
}else{
scoreMap.put(key, score);
}
if(scoreMap.get(key) > maxScore){
maxScore = scoreMap.get(key);
maxKey = key;
}
}
System.out.println(maxKey + " " + maxScore);
}
}
}