79 單詞搜尋

2021-09-24 12:55:36 字數 854 閱讀 1939

給定乙個二維網格和乙個單詞,找出該單詞是否存在於網格中。

單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中「相鄰」單元格是那些水平相鄰或垂直相鄰的單元格。同乙個單元格內的字母不允許被重複使用。

示例:board =

[['a','b','c','e'],

['s','f','c','s'],

['a','d','e','e']

]給定 word = "abcced", 返回 true.

給定 word = "see", 返回 true.

給定 word = "abcb", 返回 false.

深度優先遍歷dfs的應用,原二維陣列,可以上下左右四個方向行走。

二維陣列中每乙個數作為起點和給定字串做匹配,

需要乙個和原陣列等大小的visit陣列,用來記錄當前位置是否已經被訪問過,

如果二維陣列board的當前字元和目標字串word對應的字元相等,則對其上下左右四個鄰字元分別呼叫遞迴函式,

只要有乙個返回true,就表示可以找到對應的字串,否則就不能找到,

class solution ;

int dy = ;

vector>visit(m, vector(n));

for(int i=0; i>& board, string & word, int len,int i,int j, int m, int n,vector>&visit, int dx, int dy)

visit[i][j] = 0;

return false;

}};

79 單詞搜尋

給定乙個二維網格和乙個單詞,找出該單詞是否存在於網格中。單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中 相鄰 單元格是那些水平相鄰或垂直相鄰的單元格。同乙個單元格內的字母不允許被重複使用。示例 board a b c e s f c s a d e e 給定 word abcced 返回t...

79 單詞搜尋

不允許重複使用字母 seen 0for i in range n for j in range m for i in range m for j in range n if self.search board,word,0,i,j,seen return true return false word...

79 單詞搜尋

給定乙個二維網格和乙個單詞,找出該單詞是否存在於網格中。單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中 相鄰 單元格是那些水平相鄰或垂直相鄰的單元格。同乙個單元格內的字母不允許被重複使用。示例 board a b c e s f c s a d e e 給定 word abcced 返回 ...