博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hash的应用
阅读量:4107 次
发布时间:2019-05-25

本文共 790 字,大约阅读时间需要 2 分钟。

用法一:

主要思想:输入的分数只可能是0到100的101种整数。我们为每一种可能分别计数,便能在输入结束时得知每一种分数的重复情况。

#include
int main(){ int n; while(scanf("%d",&n)!=EOF&&n!=0){ int Hash[101]={0}; //用此数组记录各种分数出现的次数 for(int i=1;i<=n;i++){ int x; scanf("%d",&x); Hash[x]++; } int x; scanf("%d",&x); printf("%d\n",Hash[x]); } return 0;}

用法二:

主要思想 偏移量

由于输入数的区间是-500000,到+500000.因此需要将其对应到数组0到1000000的下标

要加上偏移量

#include
#define offset 500000int hash[1000001];int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF){ for(int i=-500000;i<=500000;i++){ hash[i+offset]=0; } for(int i=1;i<=n;i++){ int x; scanf("%d",&x); hash[x+offset]=1; } for(int i=500000;i>=-500000;i--){ if(hash[i+offset]==1){ printf("%d",i); m--; if(m!=0)printf(" "); else { printf("\n"); break; } } } }}

 

转载地址:http://znssi.baihongyu.com/

你可能感兴趣的文章
gcc 常用选项详解
查看>>
c++输入文件流ifstream用法详解
查看>>
c++输出文件流ofstream用法详解
查看>>
字符编码:ASCII,Unicode 和 UTF-8
查看>>
QT跨MinGW和MSVC两种编译器的解决办法
查看>>
firewalld的基本使用
查看>>
Linux下SVN客户端使用教程
查看>>
i2c-tools
查看>>
Linux分区方案
查看>>
nc 命令详解
查看>>
如何使用 systemd 中的定时器
查看>>
git命令速查表
查看>>
linux进程监控和自动重启的简单实现
查看>>
OpenFeign学习(三):OpenFeign配置生成代理对象
查看>>
OpenFeign学习(四):OpenFeign的方法同步请求执行
查看>>
OpenFeign学习(五):OpenFeign请求结果处理及重试控制
查看>>
OpenFeign学习(六):OpenFign进行表单提交参数或传输文件
查看>>
OpenFeign学习(七):Spring Cloud OpenFeign的使用
查看>>
Ribbon 学习(二):Spring Cloud Ribbon 加载配置原理
查看>>
Ribbon 学习(三):RestTemplate 请求负载流程解析
查看>>