深信服2020校招研发类笔试题 解密游戏

第二道笔试题没有完成,有些遗憾,在此补充记录一下。做的太认真就没有记题目什么的,那就靠回忆吧Problem Description大概是说一个解密游戏,A有密报和对应的译文,密报和译文都是以数字、大小写字母和下划线组成的,且一一对应。B在知道A的这段密报和对应的译文的基础上,另外截取了N段A的密报,求这些密报对应的译文。输入:一段密报一段密文NN段密报输出:对应的N段译文,每段换...
摘要由CSDN通过智能技术生成

第二道笔试题没有完成,有些遗憾,在此补充记录一下。做的太认真就没有记题目什么的,那就靠回忆吧

Problem Description

大概是说一个解密游戏,A有密报和对应的译文,密报和译文都是以数字、大小写字母和下划线组成的,且一一对应。B在知道A的这段密报和对应的译文的基础上,另外截取了N段A的密报,求这些密报对应的译文。
输入:
一段密报
一段密文
N
N段密报
输出:
对应的N段译文,每段换行输出

Mentality

之前看过关联容器map和unordered_map,但是没有经常具体使用,一时间记不太清楚怎么使用了,笔试结束后,查阅了文档,是可以做出来的,所以思路没有问题。

遍历已知密报和译文,将映射关系放入map内,然后再输入N段新的密报,从map中找出对应的字符,再组合成译文。

Other Details

1.在STL的容器内部有11种通用容器,其中包括7种序列容器和4种关联容器。关联容器全部是key-value形式的数据结构:map、set、multimap、multiset。

set:值和键类型相同,且只能有唯一的值 [1,2,3]
multiset:值和键类型相同,值可以存在相同的 [1,1,2,2,3]
map:值和键类型可以不同,值只能与唯一的键关联 [[1,2],[2,3],[3,4]]
multimap:值和键类型可以不同,值可与多个键关联 [[1,2],[1,3],[3,4]]
摘自https://blog.csdn.net/weixin_39390393/article/details/89345412

2.使用map
map类头文件:
#include < map >

map为模板类,需要加两个参数:关键字和存储对象
map<int, string> student;
(定义一个用int作为索引,指针指向string)

map的简单构造
map<int, string> student;

map插入操作:
第一种 用insert和pair
student.insert(pair<int, string>(1, “abc”));
第二种 像数组一样用下标插入
student[2] = “def”;

map查找元素:
若关键字存在于map,则返回所在对象的位置,否则返回迭代器iterator,等于end函数的值。
auto iter = student.find(1);
if(iter != student.end())
cout<<“Find, the value is”<< i

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值