这道题中要求时间复杂度为O(n),首先我们可以知道的是,如果先对数组排序再计算其最长连续序列的时间复杂度是O(nlogn),所以不能用排序的方法。我一开始想是不是应该用动态规划来解,发现其并不符合动态规划的特征。最后采用类似于LRU_Cache中出现的数据结构(集快速查询和顺序遍历两大优点于一身)来...
分类:
其他好文 时间:
2014-04-28 10:21:19
阅读次数:
1003
这道题也很简单,只要把二叉树按照宽度优先的策略遍历一遍,就可以解决问题,采用递归方法越是简单。下面是AC代码:
1 /** 2 * Sum Root to Leaf Numbers 3 * 采用递归的方法,宽度遍历 4 */ 5 int result=0; 6...
分类:
其他好文 时间:
2014-04-28 10:05:40
阅读次数:
682
对一句话里面的单词进行reverse,标点符号位置不变。符号包括:,.!?
例:输入:Hello, my dear friend! 输出:olleH, ym raed dneirf!
思路:由于需要逆序输出,因此想到利用栈数据结构来实现。代码如下(调试环境:VS2013):
分类:
其他好文 时间:
2014-04-27 21:05:01
阅读次数:
596