摘要:
Max Points on a Line 要点:这题暴力解是用任何两点确定一条直线,然后对其他点检查是否共线,显然,这里没用空间来存储之前的检查结果,所以time complexity是O(n^3)。这题的难点是如何存储从而实现O(n^2)解。思路是另一种确定一条直线的方法是一点和theta,所以t 阅读全文
摘要:
Sort List 要点:merge sort,recursion function不需要head和tail头尾指针来限定范围,直接把前后子list断开。用fast.next作为2指针条件,这样最后落在偏左边的结点,也就是后一个list的前一个元素 Definition for singly lin 阅读全文
摘要:
Min Stack 简单题,注意的是push()的时候如果新元素和stkmin栈顶一样,也要push到stkmin,否则几个连续的最小元素push会出错。 阅读全文
摘要:
Maximum Product Subarray 错误点: globalmax应该初始化为 inf,因为可能是negative 因为要分两步更新localmax和localmin,所有要先把旧的localmax存起来以便更新localmin(假设先更新localmax) 阅读全文
摘要:
Intersection of Two Linked Lists 要点:超有B格的写法:同步移动指针A和B,如果其中任何一个为空了,redirect到另一个。如果中间有重叠说明是交汇的。原理就是无论在哪个结点相交,两个指针最终保证走的距离是相等的。起始位置距离相交点的差别被补齐了。 pattern: 阅读全文
摘要:
Reverse Words in a String 不知道为什么in place的会超时,不过这题也没要求,做II的时候看看还超不超时。这题可以one liner:return " ".join(s.split()[:: 1]) 阅读全文
摘要:
Reverse Words in a String 不知道为什么in place的会超时,不过这题也没要求,做II的时候看看还超不超时。这题可以one liner:return " ".join(s.split()[:: 1]) 阅读全文
摘要:
Reverse Words in a String 不知道为什么in place的会超时,不过这题也没要求,做II的时候看看还超不超时。这题可以one liner:return " ".join(s.split()[:: 1]) 阅读全文