PAT——1038. 统计同成绩学生

时间:2021-10-09 19:13:12

本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。

输入格式:

输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。

输出格式:

在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。

输入样例:

10
60 75 90 55 75 99 82 90 75 50
3 75 90 88

输出样例:

3 2 0

 package com.hone.basical;

 import java.util.Scanner;

 /**
* 原题目:https://www.patest.cn/contests/pat-b-practise/1038
* @author Xia
* 思路:和前面的很多题目一样,类似于一种hashMap的方式,用读取的数据作为数组的下标值,然后在进行一一对应
* 第四个测试点运行超时
*/
public class basicalLevel1038countSameScoreImprove {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int[] a = new int[101];
for (int i = 0; i < n; i++){
a[s.nextInt()]++;
}
int m = s.nextInt();
for (int i = 0; i < m; i++) {
int f = s.nextInt();
System.out.print(a[f]);
if (i != m - 1) {
System.out.print(" ");
}
}
}
}