本文简单介绍一下记忆化搜索(即有状态DFS),并举例分析。
1. 简介
记忆化搜索,实际上就是有状态的DFS,即在DFS过程中缓存中间变量,从而在后续计算的时候避免重复计算。
2. 举例分析
题目: 单词拆分
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。
说明: 分隔时可以重复使用字典中的单词。
你可以假设字典中没有重复的单词。
1 | 示例 1: |
代码如下
1 | #带返回结果的dfs |