你不刷題,面試官就刷你。
1、牛客和leetcode上面都有,方法傳入的引數不太一樣,但解法都一樣,自己沒想出來,做這類dfs的題目少,看了大佬們的解法,自己也能寫出來了。總結一下。
寫的時候,我們要明確的知道,遞迴的終止條件,遞迴傳入的引數。
這道題傳入的引數有矩陣、矩陣的行列座標n,m、題目要求的字串,已經字串的乙個索引。終止條件也就是邊界,就是n,m,不能超過矩陣大小,也不能小於0,然後是還要和題目要求的字串匹配,所以這些是約束,條件。什麼時候說明找到了正確的了呢?就是當找完了所以,字串的長度-1等於我們一開始傳入的索引0的時候。
牛客:
public
boolean
haspath
(char
matrix,
int rows,
int cols,
char
str)
}//每個位置dfs
for(
int i =
0; i < rows; i++)}
return
false;}
boolean
dfs(
char
arr,
int n,
int m,
char
str,
int k)
leetcode
public
boolean
exist
(char
board, string word)}}
return
false;}
boolean
dfs(
char
arr,
int n,
int m,string word,
int k)
劍指offer 矩陣中的路徑
請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。如果一條路徑經過了矩陣中的某乙個格仔,則該路徑不能再進入該格仔。例如 a b t g c f c s j d e h 矩陣中包含一條字串...
劍指offer 矩陣中的路徑
請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。如果一條路徑經過了矩陣中的某乙個格仔,則之後不能再次進入這個格仔。注意 樣例matrix a b c e s f c s a d e e...
劍指offer 矩陣中的路徑
請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意乙個格仔開始,每一步可以在矩陣中向左,向右,向上,向下移動乙個格仔。如果一條路徑經過了矩陣中的某乙個格仔,則之後不能再次進入這個格仔。注意 matrix a b c e s f c s a d e e s...