代码随想录刷题总结
- 1. 感悟
- 2. 总结
1. 感悟
经历过本次系统刷题,最大的感觉就是:凡事预则立,不预则废!
首先本人非科班,学的机电类,之前读研的时候只接触过Matlab和一点点C。完全是零基础的水平,大概从20年开始接触数据结构与算法以及Python,但是看了图解算法,好像是一个外国人写的,蒙蒙的感觉,不过理解起来还可以,毕竟工科背景,之后开始做leetcode,基本都要看题解,然后看完题解,也不一定能写出来,基本复制粘贴。就这样做了有半年,看着好像做了100多道,其实一题没掌握,内心也是恐惧的,因为人天生对未知事物存在恐惧!
后来21年5月,做华为机试,想试一试,结果可想而知,0分把,几乎没做对一道题,后来又迷信书,买了些数据结构与算法的书,因为我也是想真的理解掌握的,最终翻了几页把!
时间来到22年初,再次做华为机试,这次进步明显,考了110分,不过还是没过!
最后去年接触到代码随想录,大概从10月底开始自己按着代码随想录做题,刚开始还好,可以坚持,到了贪心、回溯这块,没接触过,就不想做了,跳过去做熟悉的dp,做了几题就放弃了!但是deadline又在推着我,当时很焦虑!
后来尝试着跟着训练营一起刷题,每天做题,打卡,坚持到现在!
2. 总结
在跟着计划做题的这段时间,一共做了一下的题吧,都是比较典型的。
序号 | 日期 | 类型 | 题目 | 方法 | 状态 |
---|---|---|---|---|---|
1 | 12.28 | 数组 | 704.二分查找 | ||
2 | 27.移除元素 | 左右指针or快慢指针 | |||
3 | 12.29 | 数组 | 977.有序数组的平方 | 左右双指针 | |
4 | 209.长度最小的子数组 | 滑动窗口 | |||
5 | 59.螺旋矩阵2 | 没写 | |||
6 | 12.30 | 链表 | 203.移除链表元素 | ||
7 | 707.设计链表 | 没写 | |||
8 | 206.反转链表 | ||||
9 | 12.31 | 链表 | 24.两两交换链表节点 | ||
10 | 19.删除链表的倒数第N个节点 | 快慢指针 | |||
11 | 面试题 02.07. 链表相交 | ||||
12 | 142.环形链表II | 快慢指针 | 没写 | ||
13 | 01.02 | 哈希表 | 242.有效的字母异位词 | ||
14 | 349. 两个数组的交集 | ||||
15 | 202. 快乐数 | ||||
16 | 1. 两数之和 | ||||
17 | 01.03 | 哈希表 | 454.四数相加II | 哈希表 | |
18 | 383. 赎金信 | 哈希表 | |||
19 | 15. 三数之和 | 双指针+去重 | 需要再写 | ||
20 | 18. 四数之和 | 双指针+剪枝 | 需要再写 | ||
21 | 01.04 | 字符串 | 344.反转字符串 | 注意python中string类型 | |
22 | 541. 反转字符串II | ||||
23 | 剑指Offer 05.替换空格 | 快慢指针 | |||
24 | 151.翻转字符串里的单词 | 需要再写 | |||
25 | 58-II.左旋转 | ||||
26 | 01.05 | 字符串 | KMP | ||
27 | KMP | ||||
28 | 01.06 | 栈与队列 | 232.用栈实现队列 | 两个stack | |
29 | 225. 用队列实现栈 | 一个deque | |||
30 | 01.07 | 栈与队列 | 20. 有效的括号 | ||
31 | 1047. 删除字符串中的所有相邻重复项 | ||||
32 | 150. 逆波兰表达式求值 | ||||
33 | 01.09 | 239. 滑动窗口最大值 | 单调队列 | 要理解思路 | |
34 | 347. 前 K 个高频元素 | 优先队列 | 要理解思路 | ||
35 | 01.10 | 二叉树遍历 | 144. 二叉树的前序遍历 | ||
36 | 145. 二叉树的后序遍历 | ||||
37 | 94. 二叉树的中序遍历 | ||||
38 | 01.11 | 102. 二叉树的层序遍历 | 队列、递归 | ||
39 | 226. 翻转二叉树 | 前序遍历、层次遍历 | |||
40 | 101.对称二叉树 | ||||
41 | 01.12 | 104.二叉树的最大深度 | |||
42 | 111.二叉树的最小深度 | ||||
43 | 222.完全二叉树的节点个数 | 完全二叉树解法需要理解 | |||
44 | 01.13 | 110.平衡二叉树 | |||
45 | 257. 二叉树的所有路径 | ||||
46 | |||||
47 | 01.14 | 513.找树左下角的值 | 迭代_层序遍历 | ||
48 | 112. 路径总和 | ||||
49 | 113.路径总和ii | ||||
50 | 106.从中序与后序遍历序列构造二叉树 | ||||
51 | 105.从前序与中序遍历序列构造二叉树 | ||||
52 | 01.16 | 654.最大二叉树 | |||
53 | 617.合并二叉树 | ||||
54 | 700.二叉搜索树中的搜索 | ||||
55 | 98.验证二叉搜索树 | 中序遍历 | |||
56 | 01.17 | 530.二叉搜索树的最小绝对差 | |||
57 | 501.二叉搜索树中的众数 | ||||
58 | |||||
59 | 01.18 | 235. 二叉搜索树的最近公共祖先 | |||
60 | 701.二叉搜索树中的插入操作 | ||||
61 | 450.删除二叉搜索树中的节点 | ||||
62 | 01.19 | 669. 修剪二叉搜索树 | |||
63 | 108.将有序数组转换为二叉搜索树 | ||||
64 | 538.把二叉搜索树转换为累加树 | ||||
65 | 01.20 | 回溯 | 77. 组合 | ||
66 | 01.25 | 216.组合总和III | |||
67 | 17.电话号码的字母组合 | ||||
68 | 01.26 | 39. 组合总和 | |||
69 | 40.组合总和II | ||||
70 | 131.分割回文串 | ||||
71 | 01.27 | 93.复原IP地址 | |||
72 | 78.子集 | ||||
73 | 90.子集II | ||||
74 | 01.28 | 递增子序列 | |||
75 | 46. 全排列 | ||||
76 | [16. 全排列 | ](https://leetcode.cn/problems/permutations-ii/) | |||
77 | 01.30 | 332.重新安排行程 | |||
78 | 51. N皇后 | ||||
79 | 37. 解数独 | ||||
80 | 01.31 | 贪心 | 455.分发饼干 | ||
81 | 376. 摆动序列 | ||||
82 | 53.最大子序和 | ||||
83 | 02.01 | 122.买卖股票的最佳时机II | |||
84 | 55. 跳跃游戏 | ||||
85 | 45.跳跃游戏II | 还没理解 | |||
86 | 02.02 | 1005.K次取反后最大化的数组和 | |||
87 | 134. 加油站 | ||||
88 | 135. 分发糖果 | ||||
89 | 02.03 | 860.柠檬水找零 | |||
90 | 406.根据身高重建队列 | ||||
91 | 452. 用最少数量的箭引爆气球 | ||||
92 | 02.04 | 435. 无重叠区间 | |||
93 | 763.划分字母区间 | ||||
94 | 56. 合并区间 | ||||
95 | 02.06 | 738.单调递增的数字 | |||
96 | 714. 买卖股票的最佳时机含手续费 | ||||
97 | 968.监控二叉树 | ||||
98 | 02.07 | 动态规划 | 509. 斐波那契数 | ||
99 | 510. 爬楼梯 | ||||
100 | 746. 使用最小花费爬楼梯 | ||||
101 | 02.08 | 62.不同路径 | |||
102 | 63. 不同路径 II | ||||
103 | 02.09 | 343. 整数拆分 | |||
104 | 96.不同的二叉搜索树 | ||||
105 | 02.10 | 背包问题 | 416. 分割等和子集 | ||
106 | 02.11 | 1049. 最后一块石头的重量 II | |||
107 | 1050. 目标和 | ||||
108 | 474.一和零 | ||||
109 | 02.13 | 完全背包 | 518. 零钱兑换 II | ||
110 | 377. 组合总和 Ⅳ | ||||
111 | 02.14 | 510. 爬楼梯 进阶 | |||
112 | 322. 零钱兑换 | ||||
113 | 279.完全平方数 | ||||
114 | 02.15 | 139.单词拆分 | |||
115 | 02.16 | 198.打家劫舍 | |||
116 | 213.打家劫舍II | ||||
117 | 337.打家劫舍III | 需要好好理解 | |||
118 | 02.17 | 121. 买卖股票的最佳时机 | |||
119 | 122.买卖股票的最佳时机II | ||||
120 | 02.18 | 123.买卖股票的最佳时机III | |||
121 | 188.买卖股票的最佳时机IV | ||||
122 | 02.20 | 309.最佳买卖股票时机含冷冻期 | |||
123 | 714.买卖股票的最佳时机含手续费 | ||||
124 | 02.21 | 300.最长递增子序列 | |||
125 | 674. 最长连续递增序列 | ||||
126 | 718. 最长重复子数组 | ||||
127 | 02.22 | 1143.最长公共子序列 | |||
128 | 1035.不相交的线 | ||||
129 | 53. 最大子序和 | ||||
130 | 02.23 | 392.判断子序列 | |||
131 | 115.不同的子序列 | ||||
132 | 02.24 | 583. 两个字符串的删除操作 | |||
133 | 72. 编辑距离 | ||||
134 | 02.25 | 647. 回文子串 | |||
135 | 516.最长回文子序列 | ||||
136 | 02.27 | 单调栈 | 739. 每日温度 | ||
137 | 496.下一个更大元素 I | ||||
138 | 02.28 | 503.下一个更大元素II | |||
138 | 42. 接雨水 | ||||
140 | 03.01 | 84.柱状图中最大的矩形 |
一刷刷下来感觉还可以,就是前面的有些忘了,回溯这块比较欠缺,还有二叉树不是很熟!跟着刷题写博客,就是在给自己约束,总感觉今天要完成这件事,不会去拖沓,我后悔没早点跟,不然现在二刷都结束了!接下来再继续二刷,巩固加深理解!另外在做新题!加油!