--------------------------------------------------------------------------------------------------------------------------------------------------------
时间限制:1秒 空间限制:32768K 代码长度限制 100 KB
--------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------
(1).将输入的成绩存储在数组中,用map存储查找的分数出现的次数,默认均设置为0次;
(2).循环成绩数组,判断是否存在于需要统计的分数中,如果是,将对应的map中的key值加1,知道循环结束统计即完毕;
(3).需注意的一点是,指定分数可以重复,所以输出时,按照指定分数数组从map中取值,不然输出会较少。
--------------------------------------------------------------------------------------------------------------------------------------------------------
package com.biyao.algorithm.niuke.a1; import java.util.LinkedHashMap; import java.util.Map; import java.util.Scanner; public class Main_a1_028 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); while(scan.hasNext()){ int n = scan.nextInt(); int[] nums = new int[n]; for (int i = 0; i < n; i++) { nums[i] = scan.nextInt(); } int scoreNum = scan.nextInt(); int[] findScore = new int[scoreNum]; Map<Integer,Integer> timeMap = new LinkedHashMap<Integer,Integer>(); for (int i = 0; i < scoreNum; i++) { findScore[i] = scan.nextInt(); timeMap.put(findScore[i], 0); } for (int i = 0; i < nums.length; i++) { if(timeMap.containsKey(nums[i])){ int times = timeMap.get(nums[i]); timeMap.put(nums[i], times+1); } } for (int i = 0; i < findScore.length; i++) { System.out.print(timeMap.get(findScore[i])); if(i != (scoreNum-1)){ System.out.print(" "); } } } } }