memo search
我要上岸!!!
这个作者很懒,什么都没留下…
展开
-
LeetCode 140 (LintCode 582) Word Break II
思路 记忆化dfs 使用一个memo来记录各个子问题的解,可以避免相同子问题的重复计算。 复杂度 时间复杂度O(2^n) 空间复杂度O(2^n) 代码 class Solution { public List<String> wordBreak(String s, List<String> wordDict) { Map<String, Lis...原创 2019-03-17 16:05:15 · 194 阅读 · 0 评论 -
LeetCode 44 Wildcard Matching
思路 思路:记忆化搜索/dp,使用一个visited数组记录memo中某一个元素是否被访问过即是否被加入memo。由于可以匹配任意数量的字符(包括0个),所以(1)当pattern中当前位置pIndex处为时,有2种情况:source中匹配0个或者>=1个,对应下一个搜索状态就是 (sIndex, pIndex + 1)和(sIndex + 1, pIndex),二者满足一个即可; (2)当...原创 2019-10-02 12:37:22 · 107 阅读 · 0 评论 -
LeetCode 10 Regular Expression Matching
思路 记忆化搜索。与LC 44 的解法几乎一致,有几个细节需要修改。 (1)当s到达末尾时,需要p的内容为aa的模式而不是全部的* (2)需要判断pIndex+1位置是否为*,而不是pIndex处,因为* 是来匹配前一个字符的;并且此处的行为: (sIndex, pIndex + 2)对应*匹配sIndex 0次, charMatch(sc, pc) && (sIndex + 1,...原创 2019-10-06 14:15:04 · 106 阅读 · 0 评论