Hash的应用:

Hash即散列,不像数据结构与算法中讲的各种Hash方法和冲突处理等过多的阐述,以下主要介绍Hash在机试试题解答中的作用。

例2.5 统计同成绩学生人数

Hash解法AC代码:(一般想到的也是这种解法)

#include<cstring>
#include<iostream>
using namespace std; int grade[]; int main()
{
int n, m, index;
memset(grade, , sizeof(grade));
while (cin >> n)
{
for (int i = ; i < n; i++)
{
cin >> m;
grade[m]++;
}
cin >> index;
cout << grade[index] << endl;
}
return ;
}

例2.6 Sort

时间限制:1 秒 内存限制:128 兆

题目描述:

给你n个整数,请按从大到小的顺序输出其中前m大的数。

输入:

每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n 个各不相同,且都处于区间[-500000,500000]的整数。

输出:

对每组测试数据按从大到小的顺序输出前m大的数。

样例输入:

   -   -

样例输出:

   

AC代码:

#include<cstring>
#include<iostream> using namespace std; int num[];
const int UPSET = ;
const int DOWNSET = -; int main()
{
int n, m, x;
memset(num, , sizeof(num));
while (cin >> n >> m)
{
for (int i = ; i < n; i++)
{
cin >> x;
num[x+ UPSET]++;
}
for (int i = UPSET; i >= DOWNSET; i--)
{
if (num[i + UPSET] == )
{
cout << i;
m--;
if (m != )cout << " ";
else
{
cout << endl;
break;
}
}
}
}
return ;
}
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm> using namespace std;
int a[]; bool cmp(int a,int b)
{
return a > b;
} int main()
{
int n, m;
while (scanf("%d%d", &n, &m) != EOF)
{
for (int i = ; i < n; i++)scanf("%d", &a[i]);
sort(a, a + n, cmp);
for (int i = ; i < m - ; i++)printf("%d ", a[i]);
printf("%d\n", a[m-]);
}
//system("pause");
return ;
}

二刷

最新文章

  1. css兼容性大坑
  2. 不同材质怎么通过ZBrush赋予同一个模型上
  3. Script Component 引用package variable
  4. Java魔法堂:注释和注释模板
  5. C#中this的 四种 用法
  6. nyoj------170网络的可靠性
  7. 任务管理界面添加显示RAM信息
  8. 从零开始学ios开发(十五):Navigation Controllers and Table Views(中)
  9. Linux命令(1):cd命令
  10. 征服 Nginx + Tomcat
  11. Spring+SpringMVC+Mybatis 利用AOP自定义注解实现可配置日志快照记录
  12. 深入理解linux网络技术内幕读书笔记(二)--关键数据结构
  13. MAC上python环境搭建
  14. HTML5拖动画布/拖放
  15. hdu1035
  16. Vulkan Tutorial 26 view and sampler
  17. 有终将被编程潮流淹没的程序员,那是因为没学python人工智能吧?
  18. 意外的php之学习笔记
  19. gcc8.2安装
  20. spark基础知识

热门文章

  1. zabbix4.2.5常见问题指南
  2. Apache Shiro&lt;=1.2.4反序列化RCE漏洞
  3. springboot使用jpa案例
  4. Centos 7 命令行版虚拟机安装
  5. go 学习 (四):接口 &amp; 方法
  6. 开源项目 03 DocX
  7. 平安寿险Java面试-社招-四面(2019/08)
  8. 【BIRT】修改主题背景颜色
  9. java.lang.NumberFormatException: Infinite or NaN原因之浮点类型除数为0结果探究
  10. MySQL免安装配置步骤