题目表

学习档位 分为 1 3 7 x

1 - 隔一天复习

3 - 隔三天复习

7 - 隔七天复习

x - 周末抽样复习

题目

类型

学习档位

用时

总结

本次时间

下次时间

1

704 二分查找

二分

3

-

9/20

9/23

7

9/23

9/30

2

33 搜索旋转排序数组

二分边界

旋转数组->单侧有序

1

-

if的边界条件缺少了等于判断

9/20

9/21

3

10min

边界条件已掌握

9/21

9/24

7

9/25

10/2

3

35 搜索插入位置

二分 搜索第一个<=位置

lowerBound

1

long

与二分查找不同,查边界更复杂,需要回家深度模拟一下

9/21

9/22

3

9/22

9/25

9/25

10/2

4

1 两数之和

HashMap

3

short

easy~跳个档

9/21

9/24

7

完全掌握

9/25

10/2

5

3 无重复字符的子串

HashMap+滑动窗口

3

short

easy

9/21

9/24

7

left = Math.max(map.get(c)+1,left);

9/25

10/2

6

206 反转链表

链表

3

short

快照式注释可以换成不变量注释,更好的心智模型

9/21

9/24

7

注意头插法和原地翻转都写

9/24

10/1

7

200 岛屿数量

dfs

1

9/21

9/22

3

9/22

9/25

7

9/25

10/2

8

34 排序数组找第一和最后一个

lowerBound应用

1

9/22

9/23

3

9/23

9/26

7

9/26

10/3

9

912 排序数组

快排 三路划分

1

9/22

9/23

3

done 边界条件还需要确定

9/23

9/26

7

复习拖了一天

9/27

10/4

10

215 数组中的第k个元素

快速选择

todo 留着回家做

11

25 k个一组翻转链表

206 加递归

1

todo 复习一遍206的头插法再写这个

9/23

9/24

1

9/23晚

3

9/24

9/27

7

9/27

10/4

12

102 二叉树的层序遍历

ArrayDeque 队列 二叉树

1

熟悉queue的操作

9/25

9/26

3

复习拖后一天

9/27

9/30

13

15 三数之和

多数之和 排序+双指针夹逼

1

9/28

9/29

14

46 全排列

回溯 dfs

1

回溯:递归调用之后,把“这次递归调用之前做的状态改动”撤销

9/28

9/29

47 全排列二

78 子集

39 组合总和

22 括号生成

51 N皇后

0

9/16

算法

新学

92 反转链表 II todo

25 K个一组翻转 todo

515 在每个树行中找最大值

111. 二叉树的最小深度

复习

215 数组中的第k个最大元素 9/18 done

704.二分查找 9/18 done

33.搜索旋转排序数组 done

八股

新学

MySQL45讲 索引两节

复习

MySQL45讲 架构/日志/事务

小小的复习了一下,还需要再找时间过一遍相关八股题目

9/20

回顾

前面的每日学习任务没有坚持,现在重启,先复习所有做过的leetcode,再复习MySQL,这次不定计划,只定最终任务,但是复习过一遍的内容,第二天再复习就要定计划,leetcode做过的题每天复习 相隔天数遵循 0/2/5 如果不需要看题解就能写出来,就跳到下一个档位,5之后每隔一周复习一次

先复习二分 再复习快排 再搞点滑动窗口链表

题目list

二分

  • 704 二分查找

  • 33 搜索旋转排序数组

  • 34.在排序数组中查找元素的第一个和最后一个位置

  • 35.搜索插入位置