摘要: 之前听朋友说LeetCode出了一道新题,但是一直在TLE,我就找时间做了一下。这题是一个比较典型的BFS的题目,自己匆忙写了一个答案,没有考虑优化的问题,应该是有更好的解法的。 原题如下: You want to build a house on an empty land which reach 阅读全文
posted @ 2015-12-15 15:10 _icecream 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 发现距离上一次在这里写博客已经三个多月了。。。说好的笔耕不辍呢=.=Anyway,今天(确切说是昨天晚上)在code review中被组里的QA II问到在一个叫做package-info.java的java文件中的一些字符串能不能定义成constant。这里先介绍一下这个叫做package-inf... 阅读全文
posted @ 2015-07-22 13:06 _icecream 阅读(9461) 评论(0) 推荐(1) 编辑
摘要: (Version 0.0)这还真是一篇随笔,真是对得起“新随笔”这个选项。1. 意识到不足,接受有不足的自己,接受有极限的自己,认清人生的目标是自我实现与快乐,所以不应将时间精力投入到会使自己痛苦的与他人的比较上,而应该投入到努力自我实现上。意识到不足,接受有不足的自己,理清不足的地方,思考如何弥补... 阅读全文
posted @ 2015-04-16 14:47 _icecream 阅读(211) 评论(0) 推荐(0) 编辑
摘要: (Version 0.0)应该说这是一道入门级的典型DP题目,因为可以较为明显地看出进入当前考虑的格子需要的HP值依赖于在进入这个格子之后往哪个方向走,也就是说依赖于进入当前格子的下方格子和右边格子所需要的HP值的最小可能值。这样一来我们可以把子问题抽象成:如果整个dungeon的左上角是当前在考虑... 阅读全文
posted @ 2015-03-18 12:08 _icecream 阅读(154) 评论(0) 推荐(0) 编辑
摘要: (Version 1.0)在做这道题之前,我刚刚做了Scramble String(http://www.cnblogs.com/icecreamdeqinw/p/4338731.html),所以Maximal Rectangle这道题拿来之后我的想法自然跟着惯性觉得肯定是可以用一个三维DP的解法做... 阅读全文
posted @ 2015-03-15 05:20 _icecream 阅读(238) 评论(0) 推荐(0) 编辑
摘要: (Version 0.0)作为一个小弱,这个题目是我第一次碰到三维的动态规划。在自己做的时候意识到了所谓的scramble实际上有两种可能的类型,一类是在较低层的节点进行的两个子节点的对调,这样的情况如果我们从第一层切分点,或者说从较高层的切分点看的话,s1和s2切分点左边的子串所包含的字符的种类个... 阅读全文
posted @ 2015-03-15 04:40 _icecream 阅读(1542) 评论(0) 推荐(1) 编辑
摘要: (Version 1.0)这道题是在Palindrome Partitioning的基础之上要求找一个最少分割次数的partitioning,因为之前已经做过了Palindrome Partitioning,所以最开始自然想到了用DP记录所有substring是否是palindrome,然后再对每个... 阅读全文
posted @ 2015-03-13 03:57 _icecream 阅读(161) 评论(0) 推荐(0) 编辑
摘要: (Version 0.0)这题的思路比较straightforward,可以看出会有overlapping的子问题,因此可以先按DP做法用一个二维数组存储对于某一substring是不是palindrome的判断,然后做backtracking时可以利用这个DP二维数组的结果来跳过重复的palind... 阅读全文
posted @ 2015-03-12 10:18 _icecream 阅读(349) 评论(0) 推荐(0) 编辑
摘要: (Version 0.0)Interleaving String这道题是一道典型的DP题目,思路就是最基本的利用前一个subproblem(substring)的解加上对当前char的判断来解决当前问题的典型的sequence DP问题。我们要考虑的一般性的子问题是:取s1.substring(i)... 阅读全文
posted @ 2015-03-12 05:19 _icecream 阅读(264) 评论(0) 推荐(0) 编辑
摘要: (Version 1.3)这题在LeetCode上的标签比较有欺骗性,虽然标签写着有DP,但是实际上根本不需要使用动态规划,相反的,使用动态规划反而会在LeetCode OJ上面超时。这题正确的做法应该和Largest Rectangle in Histogram那几个使用stack来记录并寻找左边... 阅读全文
posted @ 2015-03-11 09:41 _icecream 阅读(552) 评论(0) 推荐(0) 编辑