摘要: https://oj.leetcode.com/problems/restore-ip-addresses/跟Word Break II一个尿性的DP题目。如果直接使用vector dp[][]来进行DP会引入很大量的中间结果影响效率。因此可以先用bool dp[][]来计算出那些是合法的。然后D... 阅读全文
posted @ 2014-10-05 23:38 zombies 阅读(333) 评论(0) 推荐(0) 编辑
摘要: https://oj.leetcode.com/problems/reorder-list/需要一个栈以每次取得链表尾部的结点。有了这个栈以后,这个问题就是一个链表操作问题。对于链表的操作,需要在纸上画好每次需要调整哪些结点以及其next指针。并且一定要注意边界条件。这个题目需要注意的是栈顶元素被重... 阅读全文
posted @ 2014-10-05 22:41 zombies 阅读(152) 评论(0) 推荐(0) 编辑
摘要: https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/求二叉树的连续路径加和的最大值。这道题会被坑的地方就是认为结点值都大于0。需要考虑结点值小于0的情况。考虑包含结点u的所有路径的最大值。可以看出这个最大路径有三种可能:1)只含... 阅读全文
posted @ 2014-10-05 21:51 zombies 阅读(411) 评论(0) 推荐(0) 编辑
摘要: https://oj.leetcode.com/problems/regular-expression-matching/递归的方法超时了。跟通配符的那道题类似,使用DP的方法能够AC,而且这题没有BT数据的问题。首先定义递推:f(i,j):前i个s和前j个p是否能够匹配,这里考察的元素要比通配符复... 阅读全文
posted @ 2014-10-05 18:11 zombies 阅读(421) 评论(0) 推荐(0) 编辑
摘要: https://oj.leetcode.com/problems/simplify-path/这道题很简答。就是用栈把有效目录名存起来,然后根据后面解析出的..进行出栈操作。主要麻烦在于解析路径,解析从p开始的下一个目录名,我的做法如下:1)首先跳过所有开头的'/',这里不小心写了一个死循环,距离b... 阅读全文
posted @ 2014-10-05 17:16 zombies 阅读(137) 评论(0) 推荐(0) 编辑