79 單詞搜尋(中等題)

2021-10-02 07:34:54 字數 1392 閱讀 5359

題目描述:

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

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

示例:board =

[[『a』,『b』,『c』,『e』],

[『s』,『f』,『c』,『s』],

[『a』,『d』,『e』,『e』]

]給定 word = 「abcced」, 返回 true.

給定 word = 「see」, 返回 true.

給定 word = 「abcb」, 返回 false.

class

solution

m = board.length;

n = board[0]

.length;

if(m * n < word.

length()

)boolean

market =

newboolean

[m][n]

;for

(int i =

0; i < m; i++)}

}return

false;}

private

boolean

backtrack

(int i ,

int j,

int index,

char

board,string word,

boolean

market)

if(i <

0|| i >= m || j <

0|| j >= n || board[i]

[j]!= word.

charat

(index)

||market[i]

[j])

market[i]

[j]=

true;if

(backtrack

(i,j+

1,index+

1,board,word,market)

||backtrack

(i,j-

1,index+

1,board,word,market)

||backtrack

(i+1

,j,index+

1,board,word,market)

||backtrack

(i-1

,j,index+

1,board,word,market)

) market[i]

[j]=

false

;return

false;}

}

Leetcode 79 單詞搜尋(中等)

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

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...