[20210301~20210301] 303. 区域和检索 - 数组不可变
[20210302~20210302] 304. 二维区域和检索 - 矩阵不可变
[20210303~20210303] 338. 比特位计数
[20210304~20210304] 354. 俄罗斯套娃信封问题
[20210304~20210304] 300. 最长递增子序列
[20210305~20210305] 232. 用栈实现队列
[20210305~20210305] 225. 用队列实现栈
[20210307~20210307] 131. 分割回文串
[20210309~20210309] 1047. 删除字符串中的所有相邻重复项
[20210310~20210310] 224. 基本计算器
[20210315~20210315] 54. 螺旋矩阵
[20210316~20210316] 59. 螺旋矩阵 II
[20210316~20210316] 98.验证二叉搜索树
[20210317~20210317] 497. 非重叠矩形中的随机点
[20210317~20210317] 398. 随机数索引
[20210318~20210318] 206. 反转链表
[20210319~20210319] 1603. 设计停车系统
[20210320~20210320] 150. 逆波兰表达式求值
[20210322~20210322] 191. 位1的个数

3.1

🥉303. 区域和检索 - 数组不可变

3.2

🥈304. 二维区域和检索 - 矩阵不可变

3.3

🥈338. 比特位计数@

3.4 动态规划

😭 依然不会做,考虑太简单了,需要多刷动态规划

🥇354. 俄罗斯套娃信封问题
最长上升子序列是套娃信封的先导,但最长上升子序列还没理解🙄🙄🙄
🥈300. 最长递增子序列@

3.5 栈模拟队列

😽这个就没问题了,赶紧整理前面的动态规划吧

🥉232. 用栈实现队列
队列实现栈是真的简单,别想太多了!
🥉225. 用队列实现栈

3.6

3.7

回溯+动态规划难死了,先弄明白回溯吧

♻️ 回溯法
🥈131. 分割回文串

3.8

3.9

栈的应用,想到栈就超级简单!

🥉 1047. 删除字符串中的所有相邻重复项

3.10

依然还是栈,可能有点难理解。其实很简单:

  • 没遇到左括号之前,就根据加减号计算好了
  • 遇到左括号的时候,把左括号之前的总和、左括号前面的符号存到栈里面。把res(存总和变量)和sign(符号标记)分别变成0、1(初始值)
  • 没遇到右括号时,继续按照加减号计算
  • 遇到右括号的时候,说明括号里面的计算完了。式子的综合应该等于括号前的和+/-括号里面的和。因为栈顶为括号的符号,所以res=res*stack.pop(),给括号里面的结果确定正负,然后再加上括号前的值res+=stack.pop()

🥇 224. 基本计算器

3.11

还是计算器,看看自己能不能独立作出来!!!💪

3.15

思路简单的旋转矩阵,写起来还是有点麻烦,注意边界条件!

🥈 54. 螺旋矩阵

3.16

旋转矩阵,转吧!不能偷懒啊

🥈 59. 螺旋矩阵 II

昨天面试pony.ai写了二叉搜索树的2sum,还是有点磕磕绊绊,二叉树相关的内容都记不清了,得好好复习一下。

面试凉了,唉😌希望微软能过,加油加油!
🥈 1214. 查找两棵二叉搜索树之和🌱

二叉搜索树来啦,不是很难,唯手熟尔。多写多领悟吧

二叉搜索树
🥈 98. 验证二叉搜索树

3.17

试了一下模拟面试,发现一道都不会,也太惨了吧o(╥﹏╥)o。整了一道非重叠矩形中的随机点,完全懵逼,看了题解才知道是蓄水池抽样算法,那就来一波吧!

蓄水池抽样很简单,设蓄水池容量为k,总水量为n:

  • 蓄水池没满,就往蓄水池中加水
  • 满了以后从k+1个元素开始,以 k/n 的概率来决定该元素是否被替换到数组中(数组中的元素被替换的概率是相同的)。当遍历完所有元素之后,数组中剩下的元素即为所需采取的样本。

🍺 蓄水池采样(Reservoir Sampling)
蓄水池采样最直接、简单的应用:
🥈 398. 随机数索引

3.18

链表也不大会啊,心态崩了,咋办😌

反转链表迭代:
定义prev,交换一定要想清楚

  1. next = cur.next
  2. cur.next = prev
  3. prev = cur
  4. cur = next

递归有点不太好理解,多想一想
🥉206. 反转链表

3.19

今天微软面试取消了,好好准备准备吧!!今天的题超简单,多刷一点

🥉 1603. 设计停车系统

3.20

今天的逆波兰表达式求值相比于3.10、3.11的计算器来说就so easy了,不过Python的负数整除就太坑了!

🥈 150. 逆波兰表达式求值

3.21

很简单的矩阵置0,好好想一想,应该没问题🆗

🥈 73. 矩阵置零

3.22

位运算!

🥉 191. 位1的个数

3.23