摘要: 刷 June 12 2019 直观做法是保持滑窗,滑窗内出现的字母用MAP记录位置。 单向扩大滑窗,发现已出现字母,要查上次出现的位置,移动左指针。 一开始考虑的是移动左指针之后,要从MAP中删除移动过程中的字母,其实不用, 因为继续的时候,发现MAP中的字母出现在滑窗外,证明是应该被删除的,所以需 阅读全文
posted @ 2016-12-27 10:52 哇呀呀..生气啦~ 阅读(119) 评论(0) 推荐(0)
摘要: 最后更新 二刷 木有头绪啊。。 看答案明白了。 用的是two sum的思路。 比如最终找到一个区间,[i,j]满足sum = k,这个去见可以看做是 [0,j]的sum 减去 [0,i]的Sum. 维护一个map,来记录0 i的和,我们希望 0~i + k = 0 ~ j ,这样就可以更新一次i~j 阅读全文
posted @ 2016-12-27 10:41 哇呀呀..生气啦~ 阅读(180) 评论(0) 推荐(0)
摘要: 刷 June 12 2019 O(n)做就是滑窗,本质还是利用了单调性。左右指针固定只能移动左边,因为移动右边+1肯定不是最优解。2pointer还要再体会下。 follow up要求 O(NlgN) lgN一般是二分,N次二分= =但是没仔细想。看了下答案原来是 sum[n]代表1 n的和 遍历1 阅读全文
posted @ 2016-12-27 09:38 哇呀呀..生气啦~ 阅读(186) 评论(0) 推荐(0)