#267 Search for Word II

hard
javascript
blind75
trie
backtracking
matrix

Given a 2D board of characters and a list of words, find all words that exist in the board.

Rules for word existence:

  • Word can be constructed from letters of adjacent cells
  • Adjacent means horizontally or vertically neighboring
  • Same cell cannot be used more than once in a word
  • All inputs contain only lowercase English letters

Constraints:

  • 1 ≤ board dimensions ≤ 10
  • 1 ≤ words.length ≤ 100
  • 1 ≤ word length ≤ 10
  • All words are distinct
  • Board and words contain only lowercase letters

Examples:

// Example 1:
const board1 = [
  ["a", "b", "c", "d"],
  ["s", "a", "a", "t"],
  ["a", "c", "k", "e"],
  ["a", "c", "d", "n"],
];
const words1 = ["bat", "cat", "back", "backend", "stack"];
console.log(findWords(board1, words1));
// Output: ["cat","back","backend"]

// Example 2:
const board2 = [
  ["x", "o"],
  ["x", "o"],
];
const words2 = ["xoxo"];
console.log(findWords(board2, words2));
// Output: []