Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @param {character[][]} board
- * @param {string} word
- * @return {boolean}
- */
- let currentWord = [] // List of coordinates
- function search(board, word, r, c, i) {
- if (i == word.length) // If it finished searching
- return true;
- if (board[r] == undefined || board[r][c] == undefined || board[r][c] != word.substring(i, i + 1) || currentWord.includes(r + " " + c))
- return false;
- currentWord.push(r + " " + c);
- if (search(board, word, r + 1, c, i + 1))
- return true;
- if (search(board, word, r, c + 1, i + 1))
- return true;
- if (search(board, word, r - 1, c, i + 1))
- return true;
- if (search(board, word, r, c - 1, i + 1))
- return true;
- currentWord.pop();
- return false;
- };
- var exist = function(board, word) {
- currentWord.length = 0 // Why does LeetCode keep the same array throughout all submission trials?? ;-;
- for (let r = 0; r < board.length; r++)
- for (let c = 0; c < board[0].length; c++)
- if (search(board, word, r, c, 0))
- return true;
- return false;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement