//用map来实现总是超出最大的内存限制
题目描述:
统计一个数字在排序数组中出现的次数。
输入:
每个测试案例包括两行:
第一行有1个整数n,表示数组的大小。1<=n <= 10^6。
第二行有n个整数,表示数组元素,每个元素均为int。
第三行有1个整数m,表示接下来有m次查询。1<=m<=10^3。
下面有m行,每行有一个整数k,表示要查询的数。
输出:
对应每个测试案例,有m行输出,每行1整数,表示数组中该数字出现的次数。
样例输入:
8
1 2 3 3 3 3 4 5
1
3
样例输出:
4
#include<cstdio> using namespace std; int main() { int count1; while(scanf("%d",&count1)!=EOF) { short array[1000001]={0}; int num; for(int i=0;i<count1;i++) { scanf("%d",&num); ++array[num]; } int count2; scanf("%d",&count2); for(int i=0;i<count2;i++) { scanf("%d",&num); printf("%d\n",array[num]); } } return 0; } /************************************************************** Problem: 1349 User: hndxztf Language: C++ Result: Accepted Time:790 ms Memory:2904 kb ****************************************************************/
时间: 2024-10-17 21:46:56