搜索单词时字母模式的逻辑

时间:2018-03-13 05:35:49

标签: c++ templates encryption

作为项目的一部分,我必须使用模板化的Map数据结构来解码消息。为此,我必须在单词列表中的每个单词中找到共同的字母模式。假设我们使用ABCDEFGH ..作为我们标签的来源,因此“确实”和“石窟”具有ABCDDC模式。考虑密文“xyqbbq”。它有ABCDDC模式!

我该如何开始这样做?在每个单词及其相应的字母模式之间创建一个映射似乎是合乎逻辑的事情,但是如何有效地返回具有相同字母模式的单词列表呢?我不能创建一个Map,比如从字符串到字符串向量 - 这是因为我定义的Map类不能使用STL作为模板参数。

1 个答案:

答案 0 :(得分:0)

只需创建一个包含26个char条目的数组,每个字母对应一个字母。首先将每个条目初始化为“ - ”

然后当你完成你的单词时,你会查找这个数组中的每个字母。如果相应的条目是' - ',您将用下一个可用的替换字母替换数组中的字母,如果不是,您可以只使用数组中的那个。

With grotto / ABCDDC you would have the following in the array:

           a b c d e f g h i j k l m n o p q r s t u v w x y z
Array[26]: - - - - - - A - - - - - - - C - - B - D - - - - - -