回溯/暴搜
212 单词搜索II
三叶
数据范围只有 1212,且 words 中出现的单词长度不会超过 1010,可以考虑使用「回溯算法」。
起始先将所有 words 出现的单词放到 Set 结构中,然后以 board 中的每个点作为起点进行爆搜(由于题目规定在一个单词中每个格子只能被使用一次,因此还需要一个 vis 数组来记录访问过的位置):
如果当前爆搜到的字符串长度超过 1010,直接剪枝;
如果当前搜索到的字符串在 Set 中,则添加到答案(同时了防止下一次再搜索到该字符串,需要将该字符串从 Set 中移除)。