题目1018:统计同成绩学生人数(hash简单应用)
2024-09-01 09:27:48
问题来源
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和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
最新文章
- jQuery刮彩票兑奖效果
- vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
- 使用Notepad++开发C#,一个复杂点的csscript脚本
- Spring MVC学习笔记——用户增删该查和服务器端验证
- C#实现的18位身份证格式验证算法
- checkbox的相关知识点
- dedecms list 实现noflag
- MySQL 5.5: InnoDB Change Buffering
- 类(class)、构造函数(constructor)、原型(prototype)
- nyoj 56-阶乘因式分解(一)
- 查看android进程信息
- android 解析服务器数据使用json还是xml方式
- Dynamics 365 CE中使用FetchXML进行聚合运算
- 周一01.3Python多版本共存&;pip环境变量设置
- 关于.NET编译的目标平台(AnyCPU,x86,x64) (转)
- Vue单页面应用阻止浏览器记住密码
- 使用 Nmon 监控 Linux 的系统性能
- Android-Java-IO流概述
- SSH入门常用命令
- eureka-8-Eureka 的健康检查