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