1
我一直在做面試準備問題,這是一個問題,我遇到了麻煩,因爲我不確定如何實施解決方案。所以這裏是設置。給你一個8x8的字母和單詞列表,你必須返回列表中最長的單詞,這個單詞可以通過從網格上的一個字母開始,然後以一個騎士的方式在網格中移動來形成在國際象棋。例如,如果你有列表[「字」,「串」,「測試」]及以下電網:面試準備網格中的單詞
Y W E Z T N U W
O P A A C Q G F
T E L Z X C V B
N M M W F R T O
U I O N A S D F
B E J O L Z V C
T B N M Q W E R
T A S G X Z R S
然後您將返回「測試」,因爲這可以通過啓動在形成'T'的網格左下角,跳到兩個右邊的那個得到'E',跳下來兩個,然後右邊一個得到'S',然後離開兩個一個,得到' T',並且在這個網格上不能形成其他詞。
我想你會使用分支和界限算法,但我完全失去了如何設置。誰能幫忙?我試圖在python中實現。
注意:字母可以在網格中重複,也就是說,您可以根據需要多次跳轉同一個字母。