生成按字母顺序排列在两个其他字符串之间的字母串的算法?

问题描述:

我试图解决一个问题:由于您有两个由小写字母a到z组成的不同字符串,因此在两个字符串之间找到一个字符串,以便始终可以找到更多的中间字符串。生成按字母顺序排列在两个其他字符串之间的字母串的算法?

进一步细节:

鉴于“A”来之前“B”的字母顺序,有“A”和“b”之间的字符串的无限数量,当作为字典排序将:“AA”, 'aaa','aaaa','ab','aba'等。但是,所有字符串之间没有无数字符串 - 没有任何字符在'a'和'aa'之间。此外,在'a'和'aaa'之间,只存在一个中间串'aa'。

什么是算法,可以找到一个字符串X在字母“a”和“b”之间,也满足条件,有无限数量的字符串之间的'a'和X以及X和'b “?

+0

提示:在1和2之间也有无数的数字(小数)。 – 2010-07-29 23:46:06

+0

@zenzen:只要有一个是需要的,只要它保证工作,假设原始输入符合存在无限数的条件它们之间的字符串。 – 2010-07-29 23:50:45

假设可以在两个字符串之间插入无限数量的字符串。

如果下串较短,加上许多“一的,以使长度等于再增加一个‘B’与中间的字符串。如果上面的单词更短,则使中间字符串等于下部字符串,并将z附加到中间字符串。如果两个字符串具有相同的长度,请使用任一方法。

+0

也许我错过了一些东西。如果话是“AB”和“b”,会是什么在中间的字是什么? – 2010-07-29 23:53:31

+0

我固定它。好决定。遗憾 – deinst 2010-07-30 00:12:49

+0

该算法当我写此评论产生一个字符串,比B,这是不允许的更大的,如图所示。 – Borealid 2010-07-30 00:20:03

你已经说明了你需要知道的一切来寻找解决方案。基本上,只有一个字符串是另一个字符串的前缀时才存在有限数量的字符串,其余字符串是“a”字符串。

否则,你可以找到的字符串之间的无限数量。