最小運算元

2021-06-16 12:30:39 字數 813 閱讀 6404

剛才在剛果準備挑戰最小運算元的。可是操作失誤,調教了白**。

在自己電腦上用c#環境試了試。竟然花了3個小時,哎,挑戰也是失敗了。

題目詳情

給了a、b兩個單詞和乙個單詞集合dict,每個的長度都相同。我們希望通過若干次操作把單詞a變成單詞b,每次操作可以改變單詞中的乙個字母,同時,新產生的單詞必須是在給定的單詞集合dict中。求所有行得通步數最少的修改方法。

舉個例子如下:

given:

a = "hit"

b = "cog"

dict = ["hot","dot","dog","lot","log"]

return

[["hit","hot","dot","dog","cog"],

["hit","hot","lot","log","cog"]

]即把字串a = "hit"轉變成字串

b = "cog",有以下兩種可能:

"hit" -> "hot" ->  "dot" ->  "dog" -> "cog";

"hit" ->  "hot" ->  "lot" ->  "log"  ->"cog"。

我的思路:

首先是理想狀態查詢:

1,a和b先比較一下,有k個不同的字母,所以最小轉換次數就是k了。

2,在dict中尋找與a相差乙個字母的單詞,和b有乙個相同的單詞。

3,一直迴圈,就能找到最小路徑。

所以在最理想狀態尋找失敗的情況下,在dict中尋找與a相差乙個字母的單詞,代替a,重複理想狀態查詢。

源**如下:

第一次寫這些東西,也不知道有沒有人看。

最小運算元

給了a b兩個單詞和乙個單詞集合dict,每個的長度都相同。我們希望通過若干次操作把單詞a變成單詞b,每次操作可以改變單詞中的乙個字母,同時,新產生的單詞必須是在給定的單詞集合dict中。求所有行得通步數最少的修改方法。舉個例子如下 given a hit b cog dict hot dot do...

最小運算元遞迴實現

題目 給了a b兩個單詞和乙個單詞集合dict,每個的長度都相同。我們希望通過若干次操作把單詞a變成單詞b,每次操作可以改變單詞中的乙個字母,同時,新產生的單詞必須是在給定的單詞集合dict中。求所有行得通步數最少的修改方法。舉個例子如下 given a hit b cog dict hot dot...

25最小運算元問題

題目描述 給定乙個單詞集合dict,其中每個單詞的長度都相同。現從此單詞集合dict中抽取兩個單詞a b。希望通過若干次操作把單詞a變成單詞b,每次操作可以改變單詞的乙個字母,同時,每次操作後,新產生的單詞必須是在給定的單詞集合dict中。求所有行得通步數最少的修改方法。舉個例子如下 given a...