找出给定字符序列的下一个字符(逻辑测试样式)(Java)

时间:2011-12-17 20:29:36

标签: java logic sequence

我最近参加了一个逻辑测验/测试,问题包括:序列的下一个字符是什么:a,c,b,d,c?虽然并不复杂,但我只能在规定的时限内完成一半的工作。

所以我希望下次尝试使用:由我构建的脚本或来自Internet的工具。

你有任何想法如何使用java来解决这个问题吗?是否有任何我可以使用或必须从头开始构建的类?我找到了一个关于Java Regex Pattern& amp;的教程。 Matcher但我很确定这不是我想要的。

注意:它总是a-z字符&通常为6(+/- 1)

2 个答案:

答案 0 :(得分:0)

序列的法律字母是什么?它总是a-z吗?如果是这样,那么预测序列并不困难。您可以将字母映射到1-26以获得合理的“猜测器”。

在这个例子中:

1,3,2,4,3 ......

+ 2,-1,+ 2,-1 ......

您确实需要对问题进行限定,以确定解决问题需要多少建模。

答案 1 :(得分:0)

简单问题

在你的情况下,你似乎依次选择第n和第n + 2个字母(以字母长度为模)来连续生成序列中的下一个字母......序列可能会稍微交错一点同样......但无论如何,确切的解决方案应该由人类精确解码并以任何语言实施。

然而,对你的问题的其他评论表明,这个问题暗示了一个完整的,更有趣的问题,这个问题不容易被人类解决 - 而是需要进行人道因素解决。这个预测问题与生物信息学家和人工智能工程师有关,我们希望在给定前面的单词/字母序列的字符串中预测下一个字母或单词(即文本流或氨基酸序列)...

完全爆发的问题

这是人工智能中的一个经典问题,需要机器学习。

特定类型的问题将作为输入:

前面的序列。

输出:

序列中的单个下一个字符。

在github上有一个AminoAcid预测器算法,我们设计用于处理使用机器学习的问题,在Clojure中运行(参见jayunit100 / Rudolf项目),如果你对完整的解决方法感兴趣因此,22个氨基酸字母表的问题。