九度_题目1349:数字在排序数组中出现的次数

//用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
****************************************************************/

你可能感兴趣的:(九度_题目1349:数字在排序数组中出现的次数)