算法题练习系列之(二十五): 挖掘机技术哪家强

来源:互联网 发布:javaweb 管理系统源码 编辑:程序博客网 时间:2024/04/29 00:21

--------------------------------------------------------------------------------------------------------------------------------------------------------

时间限制:1秒  空间限制:32768K  代码长度限制 100 KB

--------------------------------------------------------------------------------------------------------------------------------------------------------

题目描述

为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入描述:
输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出描述:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入例子:
63 652 801 1002 703 403 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);        }    }    }


阅读全文
0 0