本題考察的是回溯演算法,注意c/c++裡面可以定義變數長度的陣列,比如c++版本int a = 3;int b = 3;int c[a*b];
。但是如果定義為bool *visited = new bool[rows*cols]
,就是類的型別,是不能用memset(visited, false, sizeof(visited))
初始化的。
#include #include using namespace std;
bool haspathcore(char matrix, int rows, int cols, int row, int col, char str, int& pathlength, bool visited)
}return haspath;
}bool haspath(char matrix, int rows, int cols, char str)
}delete visited;
return false;
}int main();
cout<<&a[2]<<" "<<&a[3]
}
面試題12 矩陣中的路徑
題目 請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有 字元的路徑。路徑可以從矩陣中任意一格開始,每一步可以在矩陣中向左 右 上 下移動一格。如果一條路徑經過了矩陣的某一格,那麼該路徑不能再次進入 該格仔。例如在下面的3 4的矩陣中包含一條字串 bfce 的路徑 路徑中的字 母用下劃線...
面試題12 矩陣中的路徑
請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意一格開始,每一步可以在矩陣中向左 右 上 下移動一格。如果一條路徑經過了矩陣的某一格,那麼該路徑不能再次進入該格仔。例如,在下面的3 4的矩陣中包含一條字串 bfce 的路徑 路徑中的字母用下劃線標出 但...
面試題12 矩陣中的路徑
題目描述 請設計乙個函式,用來判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意一格開始,每一步可以在矩陣中向左 右 上 下移動一格。如果一條路徑經過了矩陣的某一格,那麼該路徑不能再次進入該格仔。例如,在下面的 3 4的矩陣中包含一條字串 bfce 的路徑 路徑中的字母用加...