查找练习 hash——出现过的数字

来源:互联网 发布:电脑性能监控软件 编辑:程序博客网 时间:2024/04/28 19:57


这道题的算法思想就是选择散列函数中比较省时的构造方法,直接寻址法。

代码如下:

#include <stdio.h>
int a[100011];
int main(){
    int n,m,i;
    scanf("%d %d",&n,&m);
    for(i=0;i<n;i++){
        int t;
        scanf("%d",&t);
        a[t]=1;//采用直接寻址的方法,因为这样时间最短;
    }
    for(i=0;i<m;i++){
        int d;
        scanf("%d",&d);
        if(a[d])
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}

0 0
原创粉丝点击