1.两数之和 EASY 8:30s 优化:可以边放哈希表边找 2.字母易位词分组 MIDDLE 初看无思路 7:23 优化:可以直接将map的value值传进答案中 3. 4.移动零 EASY 写复杂了,优化:学会使用swap 5.盛最多水的容器 MIDDLE 7:35s 优化:简单,但是写复杂了,多套了两个循环 6.三数之和 MIDDLE 12:34写了大概思路。卡在去重了【nSum问题,3Sum转换为2Sum,先总和筛,再去重,否则匹配值,匹配完还要再去重】 + 第二遍:去重过度了,注意是nums[i]!=nums[i+1] 7.接雨水 HARD : 不会做,但是看了题解后就秒杀了,很简单 8.无重复字符的最长子串MIDDLe,--18:30s。思路很简单,但是以为只有字母没用哈希表存 9.找到字符串中所有字母异位词Middle:12:00s
子串¶
连续子串:前缀和,哈希表优化前缀和 复杂滑动窗口(动态集合维护最值):单调队列
10.和为K的子数组Middle--这玩意儿可以(负数+正数)抵消,滑动窗口根本没办法--要用到前缀和思想,一点儿思路没有。重做一遍,还是没思路,看了题解做出优化一共花了26:29的时间。 11.滑动窗口最大值Hard:不会做,23:21有点难度,需要构建一个单调队列才行。
普通数组¶
13.最大子数组和MIDDLE:12:00s,刚学会的前缀和立刻就用上了,非常好使。 14.合并区间MIDDLE:4:48s,排序秒杀 15.轮转数组MIDDLE:5:00s,想复杂了,可以直接一个数组排好再复制过来。以及一个空间o1方法还没用 16.除自身以外数组的乘积MID:不会,左右轮转数组(其他题解有个双指针的非常巧妙)。第二遍6:32s 17.
矩阵¶
打好标记能有效降低思考复杂度
18.矩阵置零:没想出来,标记的思路很不错。第二遍13.22min 19.螺旋矩阵Mid:(缓存关键位置,不要靠硬算!)30min,思路一下子就想到了,但是 20.旋转矩阵Mid: (思路属于是本题独有了)没思路,不会做 21.搜索二维矩阵II:(也是独有思路)不会
链表¶
- 双指针
- 数据结构复制
22.相交链表easy秒杀 23.反转链表easy:迭代秒杀,递归稍微卡了下 24.回文链表easy:轻松秒杀 25.环形链表Easy:轻松秒杀 26.环形链表2,MEDIUM:推导忘了。。记得自己推一次。以及奇妙的bug出现 27.合并两个有序链表EASY:4min,秒了 28.两数相加 midium:30min。思路其没啥大问题,写复杂了,而且指针函数传参实际上只传了地址,形成局部变量,不会影响到原指针 29.两两交换链表中的节点Midume:11m 30.
31.随机链表的复制MIdium:不会。对于(数据结构复制),甭管他怎么变,你就记住最简单的方式:一个哈希表 + 两次遍历(复制结点+连接结构)。 32.排序链表Midium,估计30min:思路很快就有了。但临界条件真的很恶心人,特别是快慢指针分割的时候 33.合并k个升序链表 34.LRU缓存
35.二叉树¶
- 35:二叉树的中序遍历
动态规划¶
81.爬楼梯 Easy:秒杀 82.杨辉三角Easy:第一遍想的太复杂,第二遍看了题解但是没有想到使用resize 83.打家劫舍Midum:(不取相邻求最大),8:36急速写完 84.完全平方数Mid:(最少平方数相加,先算没拿的情况再+1)8:30过样例,但超时。 85.零钱兑换Mid:(也是相加求最少问题) 15:08s过,卡了下特判。 86.单词拆分Mid:这字符串操作死了慕了!!!思路其实和前两道题还是比较相似的 87.最长递增子序列Mid:(子序列问题) 8:35s过。 88.乘积最大子数组Mid:(连续子序和问题,正负分类讨论) 没思路不会做 89.分割等和子集Mid:(经典01背包问题) 17:22做出来,还不够熟练,和其他背包没有完全分清楚 90.最长有效括号(Hard):(连续子序列问题+栈)最开始误解题意了,18:36s过了70个样例。后面发现嵌套的括号也要计算,这下思路就不是很清晰了。看了下题解,其实只需要一步修改(即使用计算好的小括号再次计算),相当nb的动态规划思路。而后面的栈思路和左右指针思路更是神中神。
多维动态规划¶
- 91.不同路径Mid:多维签到题,3min秒了
- 92.最小路径和Mid:签到题的变种,5min秒了
- 93.最小回文子串Mid:(回文串题目)不会做,相当独特的动态规划思路,不过用中心扩展思想我觉得更加好理解一些。
- 94.最长公共子序列:(子序列,双字符串动态规划)
- 95.编辑距离Mid:(子序列,双字符串动态规划)多种方法怎么抉择?都试一遍,暴力:递归选最好。动规:左、右字符串分为两个维度,两个指针同时走(特别是相同的时候,一般都要记录的)。
技巧¶
96.只出现一次的数值Easy:技巧题目-异或性质(异或交换律),知道了就很简单。