摘要:
Candy
分析: 主要问题是可以从左升序或者从右升序,如何取大值。
方法一:从左从右分别计算一次,对值校正。并计算出最大值。要保存中间初步的值,空间复杂度:O(n)
方法二:从一个方向(此题从左),设置两个变量,通过计算升序长度,降序长度确定精确值。空间复杂度:O(1)
Gas Station
计算油余量与剪枝。 阅读全文
2014年8月10日 #
摘要:
说明:分三步, 1. 每个节点复制其本身并链接在后面。 2, 复制随机指针。 3, 拆分链表。 阅读全文
摘要:
说明: 深度搜索,一定要记忆下每次走完的结果(此处记下筛掉的情况)。
说明: 方法比较巧妙。记忆下每个位置开始的所有能成回文串的结束位置。然后深搜。 阅读全文
摘要:
说明:两个指针不同步长。
说明:在上题基础上,将一个指针放到链表头,步长都设为1,相遇节点。(可以计算) 阅读全文
摘要:
说明:分三步,1。从中间分开,成两部分。2,后半部分链表逆置。3.插入合并。 阅读全文
摘要:
注:后序遍历是较麻烦的一个,不可大意。关键两点: 1.要走到 p->left | p->right ==0, 2.每次出栈出两个结点。 阅读全文
摘要:
说明:归并排序: 时间 O(nlogn),空间 O(1). 每次将链表一分为二, 然后再合并。快排(用两个指针)
说明: 与顺序表不同的时,每次找插入位置时从头开始走。 阅读全文
摘要:
主要思想:O(n2),固定一个点,遍历其余 n 个点, 计算与该点相同的点的个数,和其余所有点的斜率,相同斜率的点视为同一直线。
待重新写答案 AC 一次。 阅读全文
摘要:
说明:使用一个数字栈即可。(也可用数组链表模拟栈) 阅读全文