2010-07-29 81 views
6

我試圖解決一個問題:由於您有兩個由小寫字母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

回答

4

假設可以在兩個字符串之間插入無限數量的字符串。

如果下串較短,加上許多「一的,以使長度等於再增加一個‘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

1

你已經說明了你需要知道的一切來尋找解決方案。基本上,只有一個字符串是另一個字符串的前綴時才存在有限數量的字符串,其餘字符串是「a」字符串。

否則,你可以找到的字符串之間的無限數量。

相關問題