2017圣诞回国刷题打卡

计划:

每天5道题

看公开课视频2hours

锻炼一小时

每天写刷题日记

即日奏效。

2017.12.29

1.  two sum 给一串数字,返回满足一个sum的两个数字的index

思路:用map,看到一个数字,先查map中有没这数字,没有的话把sum-这个数字的数存到map中

15. 3Sum 给一串数字,要找三个数字加起来=0,返回满足条件的solution set

思路:先sort,设置一个low指针和一个high指针,for loop遍历数列,每个数字的相反数就是我们要找的另外两个数字。�如果low+high比这个数字小,low++,比数字大,high-,如果等于,放到list中,low++, high- -。

20. Valid Parentheses  检查一个由【】{}()组成的string是不是valid的

思路:用stack,每次如果看到【{(, push进去}】),直到没有左包围,检查pop出去的是不是等于string剩下的。

53.Maximum Subarray   一串数字中return连续数字的最大和

DP!再加一个int的array,存储每到这个index之前,最大的和。每次算这个array的next element,如果原array这个位置的数字大于0,说明加上会让整体更大,dp【i】等于加上这个数字。如果小于0,则这个dp的当前index的得数=dp[i-1]+0

121. Best Time to Buy and Sell Stock   一串数字,求之后的和之前的差最大是多少(profit)

一个for loop,�keep两个变量,minPrice 和 maxProfit。每次发现price更小就update最小价格。profit=检查是不是这个数字之前的某个max value


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,768评论 0 33
  • 布莱克追了出去,苏安已经上车了,车子消失在夜幕中只留给布莱克一抹渐渐远去的车灯光。 布莱克悻悻地转...
    小老虎跳跳阅读 156评论 0 0
  • 罡: 每次见到你的名字,我都会想起《水浒传》中的那一百零八将——三十六天罡,七十二地煞。乖,谁给你取的名字呀?他一...
    玫兰妮阅读 261评论 0 1
  • 人不能不对自己有些积极、乐观的评价,不然就活得太压抑了。 想想有的民族或种族吧,老是自己咒骂自己、艳羡别人的话,整...
    斑斓糖衣阅读 321评论 0 0
  • 孩子又去上学了,不过这次去读书让我五味杂陈,比原来多了几分担心,多了几分不舍。 六月,孩子要高考了,我一天有...
    富思竭虑阅读 445评论 2 0