回溯/暴搜
212 單詞搜索II
三葉
數(shù)據(jù)范圍只有 1212,且 words 中出現(xiàn)的單詞長度不會超過 1010,可以考慮使用「回溯算法」。
起始先將所有 words 出現(xiàn)的單詞放到 Set 結(jié)構(gòu)中,然后以 board 中的每個點(diǎn)作為起點(diǎn)進(jìn)行爆搜(由于題目規(guī)定在一個單詞中每個格子只能被使用一次,因此還需要一個 vis 數(shù)組來記錄訪問過的位置):
如果當(dāng)前爆搜到的字符串長度超過 1010,直接剪枝;
如果當(dāng)前搜索到的字符串在 Set 中,則添加到答案(同時了防止下一次再搜索到該字符串,需要將該字符串從 Set 中移除)。
標(biāo)簽: