一、题目描述
对报文进行重传和重排序是常用的可靠性机制,重传缓冲区内有一定数量的子报文,每个子报文在原始报文中的顺序已知,现在需要恢复出原始报文。
二、输入描述
输入第一行为N,表示子报文的个数,0 < N <= 1000。
输入第二行为N个子报文,以空格分开,子报文格式为字符串报文内容+后缀顺序索引,字符串报文内容由[a-z,A-Z]组成,后缀为整形值,表示顺序。顺序值唯一,不重复。
三、输出描述
输出恢复出的原始报文。
按照每个子报文的顺序的升序排序恢复出原始报文,顺序后缀需要从恢复出的报文中删除掉。
四、解题思路
题目要求根据子报文的顺序索引恢复出原始报文。子报文由报文内容和顺序索引组成,报文内容是字符串,顺序索引是整数。
解题思路如下:
- 读取输入的子报文个数N;
- 读取输入的N个子报文,并解析每个子报文的报文内容和顺序索引;
- 使用一个哈希表letterMap存储顺序索引和报文内容的对应关系;
- 遍历顺序索引从1到N,按照顺序从letterMap中取出对应的报文内容,并拼接到结果字符串