演算法 矩陣中的路徑2

2021-10-09 01:58:12 字數 1177 閱讀 2540

public

class

solution}}

return

false;}

//matrix一維陣列 rows矩陣的行 cols矩陣的列, 該點所在當前位置的行和列rowindex colindex str要尋找的字串 k字串的那個位置,flag該點有沒有下過

public

boolean

judge

(char

matrix,

int rows,

int cols,

int rowindex,

int colindex,

char

str,

int k,

boolean

flag)

//如果沒有越界,該點還在矩陣中

//1.該點不等於對應字串的點false

if(matrix[index]

!= str[k]

)//2.該點走過false

if(flag[index]

==true

)//3.該點有沒有下過,又相等

該點是字串對應最後乙個

if(k == str.length -1)

該點不是最後乙個,先記錄該點下過,怕等下遞迴的時候往回找

flag[index]

=true

;遞迴boolean ans =

judge

(matrix, rows, cols, rowindex +

1, colindex, str, k +

1, flag)

||judge

(matrix, rows, cols, rowindex -

1, colindex, str, k +

1, flag)

||judge

(matrix, rows, cols, rowindex, colindex -

1, str, k +

1, flag)

||judge

(matrix, rows, cols, rowindex, colindex +

1, str, k +

1, flag);if

(ans ==

true

)else

}}

矩陣中的路徑

請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。如果一條路徑經過了矩陣中的某乙個格仔,則該路徑不能再進入該格仔。例如 3 4 矩陣 a b c e s f c s a d e e 中包...

矩陣中的路徑

題目描述 請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。如果一條路徑經過了矩陣中的某乙個格仔,則之後不能再次進入這個格仔。注意 輸入的路徑不為空 所有出現的字元均為大寫英文本母 樣例...

矩陣中的路徑

思路 矩陣如下 abce sfcs adee 找到一條路徑,從矩陣任意頂點出發,設計乙個矩陣,記錄走過的路線為true,下次不能走。每次走的時候匹配路徑元素。若上下左右每個方向都試一遍。每個方向都沒有結果,返回上一級,重置頂點為false。採用遞迴。def haspath self,matrix,r...