摘要:
思想:简单的从两端来逐个读字符,判断是否相等。(36ms) 阅读全文
2014年8月27日 #
摘要:
两种方法:1. 利用 hash_map 结构,数组有序时查找的思想。
2. 动态的构造线段(两端为线段始末位置),这样从一端点可获取另一端点位置。若当前点可增加有向线段长度,拓展线段。 阅读全文
2014年8月26日 #
摘要:
思想: 分三种情况: 1. 当前结点为空,返回0. 2. 叶子结点, 返回当前值. 3. 父结点,返回左右两个 path 值的和。 阅读全文
摘要:
思想: 先从边缘是 'O' 的结点开始进行深搜,若是 'O', 则设置已访问为 true. 接着对其余所有非边界结点进行遍历,若是 'O' 且未访问,则将该结点重置为 'X' . 阅读全文
2014年8月25日 #
摘要:
思想: 简单的深度优先搜索。
思想: 动态规划:
n = s.length();
Record[i] = 0 , ( i = n || isPalindrome(i, n-1))
min(n-1-i, Record[k]+1 ( isPalindrome(i, k) ) ) , otherwise
where i belong to interval [0, n]. 阅读全文
摘要:
我的方案中,使用两个 hash_set 分别存储当前层和下一层结点,另一个 hash_set存储之前遍历过的结点。
思想: 在 I 的基础之上, 加入 hash_map 记下每条边, 从 end 开始搜索,建立以 start 为源点,end 为汇点的图,然后从 start 开始深搜即可。 阅读全文
摘要:
总结:其实就是反转链表。不过是反转中间一部分。要注意的是保存第一个结点的前继的指针; 若第一个结点是头结点,注意反转子串的尾结点变为头结点。 阅读全文
2014年8月10日 #
摘要:
Candy
分析: 主要问题是可以从左升序或者从右升序,如何取大值。
方法一:从左从右分别计算一次,对值校正。并计算出最大值。要保存中间初步的值,空间复杂度:O(n)
方法二:从一个方向(此题从左),设置两个变量,通过计算升序长度,降序长度确定精确值。空间复杂度:O(1)
Gas Station
计算油余量与剪枝。 阅读全文
摘要:
说明:分三步, 1. 每个节点复制其本身并链接在后面。 2, 复制随机指针。 3, 拆分链表。 阅读全文