摘要: 我觉得这道题比较难,主要是因为对于我来说:1. 我没有把这个问题联想到树的宽度遍历(即便没有考虑树的宽度遍历,也是可以做的,但是我一开始实现的代码却是深度遍历,后来发现树的BFS一般使用queue实现的,貌似没有递归的方法??)2. 即使在意识到用BFS,却还有一个陷阱:我是对字典进行了BFS,这个... 阅读全文
posted @ 2014-04-29 23:46 echoht 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 这道题中要求时间复杂度为O(n),首先我们可以知道的是,如果先对数组排序再计算其最长连续序列的时间复杂度是O(nlogn),所以不能用排序的方法。我一开始想是不是应该用动态规划来解,发现其并不符合动态规划的特征。最后采用类似于LRU_Cache中出现的数据结构(集快速查询和顺序遍历两大优点于一身)来... 阅读全文
posted @ 2014-04-27 13:44 echoht 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 这道题也很简单,只要把二叉树按照宽度优先的策略遍历一遍,就可以解决问题,采用递归方法越是简单。下面是AC代码: 1 /** 2 * Sum Root to Leaf Numbers 3 * 采用递归的方法,宽度遍历 4 */ 5 int result=0; 6... 阅读全文
posted @ 2014-04-27 13:36 echoht 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 我觉得这道题和传统的用动规或者贪心等算法的题目不同。按照题目的意思,就是将被‘X’围绕的‘O’区域找出来,然后覆盖成‘X’。那问题就变成两个子问题:1. 找到‘O’区域,可能有多个区域,每个区域‘O’都是相连的;2. 判断‘O’区域是否是被‘X’包围。我采用树的宽度遍历的方法,找到每一个‘O’区域,... 阅读全文
posted @ 2014-04-27 13:33 echoht 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 这道题采用动态规划毫无疑问,如果直接DP的话时间复杂度为O(n^3),会报TLE错误。需要把时间复杂度降到O(n^2).下面的代码列出了这两种复杂度的算法。之所以时间复杂度下降,是因为我不再单独的判断string的某一个substring是否是回文,而是先用一个数组boolean P[][],来保存... 阅读全文
posted @ 2014-04-26 22:52 echoht 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 这道题我采用的是递归算法解决的,时间复杂度虽然比较高,但是却可以被AC,期待看到更有效的方法。我觉得求各种组合情况的问题一般采用递归算法。下面是AC代码: 1 /** 2 * Given a string s, partition s such that every substring o... 阅读全文
posted @ 2014-04-26 19:35 echoht 阅读(147) 评论(0) 推荐(0) 编辑
摘要: ---恢复内容开始---这道题考察的可能偏向逻辑的思考能力。最有效的方法是时间复杂度为O(n),空间复杂度为O(1).这种高效算法,参考一个前辈的思想:“My linear solution based on a observation that, if you stops at certain g... 阅读全文
posted @ 2014-04-25 21:33 echoht 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 感觉这道题很有趣。一开始的想法没有经过深入的思考,总是想当然,自然也就容易出错。后来深入思考题中提出的两个条件,想到一个局部极小这个概念,接下来的想法,就显得很自然而然。总的来说是先DP,然后根据DP的结果决定给每个小孩多少个candies。DP的关键在于定义一个表示子问题的数组变量,在这个题中定义... 阅读全文
posted @ 2014-04-25 16:59 echoht 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 1 /** 2 * Given an array of integers, every element appears twice except for one. Find that single one. 3 * 要求最好是时间复杂度为O(n),空间复杂度为O(1) 4 ... 阅读全文
posted @ 2014-04-25 11:36 echoht 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 参考了一个前辈的算法,能够在O(n)的时间复杂度,O(1)的空间复杂度内解决这个问题。 算法过程如下图所示。总共有三个步骤:下面是AC代码: 1 class RandomListNode{ 2 int label; 3 RandomListNode next, random; 4 ... 阅读全文
posted @ 2014-04-25 11:20 echoht 阅读(119) 评论(0) 推荐(0) 编辑