目录
题目:
假设你手里有一串钥匙,这串钥匙上每把钥匙都有一个编号,对应着一个房门的编号。现给你一个房门编号,你需要判断是否能够打开该房门
输入描述:
第一行整数S,表示共几组测试数据;后面每组中,第一行整数n,表示有几组钥匙编码(k)+房门编码(d),其中每组k d占一行;最后一行,整数x表示测试需要打开的房门编码d。
输出描述:
输出多组,每组占一行。 如果能打开,则输出钥匙编号,不能打开则输出“Can't open the door.”。
输入示例:
2
5
878788 9373833
837837 3837378
378338 3398939
388733 2329389
878373 3938399
3938399
3
998389 3892393
444323 3892783
883782 5334332
8739833
输出示例:
878373
Can't open the door.
一、 map基础
本次练习将学习哈希表的最后一种实现map映射
map、``unordered_map,multimap概念和特点map、``unordered_map,multimap的基本操作,比如创建、插入、删除、查找- 范围for循环
通常把map称之为映射,就是将一个元素(通常称之为key键)与一个相对应的值(通常称之为value)关联起来,比如说一个学生的姓名(key)有与之对应的成绩(value),它们是一一对应的,就好像一把钥匙开一扇门,在map中键是唯一的,也只有一个唯一的确定的值。
map中的键是唯一的,但是multimap则没有此限制
std::unordered_map 的key值存储是无序的,底层实现为哈希表,查找速度更快,如果不需要排序而只是快速查找键对应的值,可以考虑使用。
std::map 和std::multimap 的底层实现是红黑树,它的key值存储是有序的,如果需要对键值对进行自定义排序,可以考虑使用std::map。
二、 map的使用
2.1 map头文件的引入
使用映射容器需要引入头文件<unordered_map>

最低0.47元/天 解锁文章
2409

被折叠的 条评论
为什么被折叠?



