问题来源

  http://ac.jobdu.com/problem.php?pid=1018

问题描述

  给你n位同学的成绩,问获得某一成绩的学生有多少位。

问题分析

  初见此题,有人会想到先将所有成绩存入数组,查询某一分数时一一对比得到人数。但是这样效率太低。

  在这里我们发现,学生的分数是有一个严格的范围的,从0到100,而且还是整数,只有101种可能的分数。我们只要为这101种可能性分数一一计数,便可以砸输入查询分数时直接得知改分数的人数。这是hash的基本应用,效率很快。

参考代码

//
// Created by AlvinZH on 2017/5/3.
// Copyright (c) AlvinZH. All rights reserved.
// #include <cstdio>
#include <cstring> int main()
{
int n,a;
int hash[];
while(~scanf("%d",&n)&&n)
{
memset(hash,,sizeof(hash));
while(n--)
{
scanf("%d",&a);
hash[a]++;
}
scanf("%d",&a);
printf("%d\n",hash[a]);
}
}

作者: AlvinZH

出处: http://www.cnblogs.com/AlvinZH/

本人Github:https://github.com/Pacsiy/JobDu

本文版权归作者AlvinZH和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

最新文章

  1. jQuery刮彩票兑奖效果
  2. vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
  3. 使用Notepad++开发C#,一个复杂点的csscript脚本
  4. Spring MVC学习笔记——用户增删该查和服务器端验证
  5. C#实现的18位身份证格式验证算法
  6. checkbox的相关知识点
  7. dedecms list 实现noflag
  8. MySQL 5.5: InnoDB Change Buffering
  9. 类(class)、构造函数(constructor)、原型(prototype)
  10. nyoj 56-阶乘因式分解(一)
  11. 查看android进程信息
  12. android 解析服务器数据使用json还是xml方式
  13. Dynamics 365 CE中使用FetchXML进行聚合运算
  14. 周一01.3Python多版本共存&amp;pip环境变量设置
  15. 关于.NET编译的目标平台(AnyCPU,x86,x64) (转)
  16. Vue单页面应用阻止浏览器记住密码
  17. 使用 Nmon 监控 Linux 的系统性能
  18. Android-Java-IO流概述
  19. SSH入门常用命令
  20. eureka-8-Eureka 的健康检查

热门文章

  1. robotframework中文显示乱码
  2. LoadRunner11学习记录六 -- 服务器分析
  3. 3d点云与cad模型
  4. CentOS7安装redis,并设置开机自启动
  5. word上传博客教程
  6. How do I avoid capturing self in blocks when implementing an API?
  7. ubuntu 12.04安装vmtools 问题解决
  8. 查看Linux系统是32位的还是64位的
  9. solr&amp;lucene3.6.0源码解析(一)
  10. auc的本质