如何解读一个混乱的单词?

时间:2017-02-27 11:42:41

标签: arrays algorithm scramble

假设我有一个char {A,B,C,D,E,F}数组,订单号为3

然后,扰乱的词语如下:

第一个第3个(订单号)字符C被删除并保存。

{A,B,D,E,F},{C}

从下面的字符D开始,第一个第三个字符是F.因此,F被删除并保存。

{A,B,D,E},{C,F}

从以下字符开始(因为它到达数组索引的末尾,我们回到开头)。所以从字符A开始,第一个第三个字符是D.

{A,B,E},{C,F,D}

等等。

结果将是一个空的原始char数组和加扰数组

{},{C,F,D,B,E,A}

上述算法可以轻松实现。我没有问题。我所遇到的问题是解读它。我给了一些解密的char数组,它的排序,我必须找到它的原始char数组。

我现在已经尝试了好几个小时,而且我似乎无法找到一个"公式"为了它。我猜测我错过了至关重要的事情。谁能给我一些关于如何处理这个问题的线索或提示?

1 个答案:

答案 0 :(得分:0)

  1. 制作"地图字符串"与原作相同的长度,但所有字母按顺序排列,如" ABCDEFGH .."

  2. 根据给定的顺序加扰

  3. 现在,同时遍历问题字符串和地图字符串。对于问题字符串中的每个字符,地图字符串字符将说明放置它的位置。如果你有map =" SQEG ......"和问题=" DSEG ...",然后' D'进入' S'位置,' S'进入Q' Q'职位等

  4. 那就是它。如果您愿意,或者问题字符串太长,请使用整数数组而不是地图字符串。