分享|2023 年度总结与题目分享
4941
2023.12.30
2024.01.10
发布于 未知归属地

image.png

来力扣快两年了,最近的周赛打得越来越差,分上不去了,然后对力扣的部分题目作了下总结,有模板题,有一些特殊知识点的题,还有一些对我来说有些意义的题,顺便分享一下。

  1. 题目总结

    1. 算法题
    2. 数据库
    3. JavaScript
  2. 心得体会

题目总结

算法题

题目备注
1. 两数之和跟其它oj系统不一样,不是简单的A+B了,掌握双指针解法
5. 最长回文子串
647. 回文子串
中心扩展算法马拉车算法
31. 下一个排列字典序的下一个排列
34. 在排序数组中查找元素的第一个和最后一个位置二分查找的"左右"侧查找方式
46. 全排列
47. 全排列 II
全排列
78. 子集
90. 子集 II
全子集
50. Pow(x, n)快速幂
70. 爬楼梯
1137. 第 N 个泰波那契数
2851. 字符串转换
矩阵快速幂
56. 合并区间区间合并
89. 格雷编码格雷编码
94. 二叉树的中序遍历
144. 二叉树的前序遍历
145. 二叉树的后序遍历
二叉树三种遍历方式
105. 从前序与中序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树
889. 根据前序和后序遍历构造二叉树
根据任意两种二叉树遍历还原二叉树
136. 只出现一次的数字
268. 丢失的数字
位运算异或性质
169. 多数元素
229. 多数元素 II
摩尔投票
206. 反转链表链表头插法
231. 2 的幂获取二进制最低位1以及去除最低位1
28. 找出字符串中第一个匹配项的下标kmp 模板
459. 重复的子字符串kmp 中的 next 数组理解
2223. 构造字符串的总得分和扩展kmp(z-box)
120. 三角形最小路径和典中典之自顶向下dp
137. 只出现一次的数字 II数字电路设计
142. 环形链表 II
287. 寻找重复数
快慢指针(floyd 判圈)
146. LRU 缓存
460. LFU 缓存
双向链表
204. 计数质数质数模板,埃氏筛线性筛
208. 实现 Trie (前缀树)字典树模板
261. 以图判树判断是否为
271. 字符串的编码与解码
297. 二叉树的序列化与反序列化
428. 序列化和反序列化 N 叉树
序列化反序列化
300. 最长递增子序列一维最长递增子序列
354. 俄罗斯套娃信封问题二维最长递增子序列
304. 二维区域和检索 - 矩阵不可变二维前缀和
307. 区域和检索 - 数组可修改一维树状数组线段树模板
308. 二维区域和检索 - 可变二维树状数组线段树
343. 整数拆分主要是里面的数学方法结论
382. 链表随机节点水塘抽样
462. 最小操作次数使数组元素相等 II中位数结论
469. 凸多边形判断凸多边形
489. 扫地机器人交互题理解回溯
547. 省份数量并查集模板
877. 石子游戏典中典之先手必胜
1143. 最长公共子序列
1092. 最短公共超序列
lcs
2736. 最大和查询二分单调栈
2104. 子数组范围和单调栈求"管辖区域"
2281. 巫师的总力量和单调栈求"管辖区域",区间内所有子数组求和的总和公式
2536. 子矩阵元素加 1二维差分
1201. 丑数 III
2927. 给小朋友们分糖果 III
容斥原理
1227. 飞机座位分配概率有趣的概率题
1382. 将二叉搜索树变平衡尝试手撕avl
1503. 所有蚂蚁掉下来前的最后一刻
2731. 移动机器人
有趣的脑筋急转弯
1584. 连接所有点的最小费用
1135. 最低成本连通所有城市
最小生成树
1245. 树的直径树的直径
214. 最短回文串Rabin-Karp算法,正反向滚动哈希
1044. 最长重复子串Rabin-Karp算法,"前缀和"滚动哈希
233. 数字 1 的个数数位dp模板
1397. 找到所有好字符串数位dp + kmp
587. 安装栅栏二维凸包模板
1924. 安装栅栏 IIwelzl算法,最小包围球
770. 基本计算器 IV这题应该是力扣里语义解释题中最难的了,过了这题,其它类似的题随便秒
803. 打砖块逆向思维题,所谓正难则反
850. 矩形面积 II扫描线 模板
1515. 服务中心的最佳位置梯度下降法
1192. 查找集群内的关键连接tarjan求割点与桥模板题
LCP 54. 夺回据点tarjan缩点
1483. 树节点的第 K 个祖先树上倍增
236. 二叉树的最近公共祖先
2846. 边权重均等查询
2277. 树中最接近路径的节点
lca模板,树上倍增算法,tarjan算法
2646. 最小化旅行的价格总和lca + 树上差分
2514. 统计同位异构字符串数目排列数计算公式,获取有多少种排列
1830. 使字符串有序的最少操作次数排列数计算公式,获取有多少种排列比现排列字典序小
2608. 图中的最短环图的最短环
2360. 图中的最长环图的最长环
14. 最长公共前缀lcp
2573. 找出对应 LCP 矩阵的字符串lcp还原字符串
805. 数组的均值分割
LCP 82. 万灵之树
折半搜索
2123. 使矩阵中的 1 互不相邻的最小操作数匈牙利算法(ntr算法),用于二分图最小点覆盖,即二分图最大匹配数
1908. Nim 游戏 II
2005. 斐波那契树的移除子树游戏
博弈论 Sprague-Grundy定理
LCP 74. 最强祝福力场
1956. 感染 K 种病毒所需的最短时间
最多重叠区域
2204. 无向图中到环的距离无向基环树
2876. 有向图访问计数
2836. 在传球游戏中最大化函数值
内向基环树
2753. 计算一个环形街道上的房屋数量 II有趣的交互
2979. 最贵的无法购买的商品麦乐鸡定理(Chicken McNugget Theorem)
LCP 57. 打地鼠image.png{:width=400} ac前提下,跑得最久的题

数据库

题目备注
2252. 表的动态旋转不定行转列
2253. 动态取消表的旋转不定列转行

JavaScript

题目备注
2621. 睡眠函数PromisesetTimeout
2627. 函数防抖抖动,防止函数在短时间内被多次调用
2676. 节流节流,参数替换
2756. 批处理查询节流,参数全保留
2715. 执行可取消的延迟函数setTimeoutclearTimeout
2628. 完全相等的 JSON 字符串
2700. 两个对象之间的差异
2755. 深度合并两个对象
深度递归比较
2632. 柯里化柯里化(currying)
2633. 将对象转换为 JSON 字符串对象json
2759. 将 JSON 字符串转换为对象json对象
2636. Promise 对象池
2721. 并行执行异步函数
手写Promise.all
2637. 有时间限制的 Promise 对象Promisereject
2636. Promise 对象池有限制线程池实现
2690. 无穷方法对象
2692. 使对象不可变
2691. 不可变辅助工具
Proxy 应用

心得体会

截止至2024-01-10

image.png

非隐藏的题目都做完了,顺便把会员题也更新到我的题目推荐列表。

  • 每个题目里的备注标签不一定是这题的最优解法,但它代表着一种思路,一种套路,希望各位能根据备注里的标签来过一遍题目,理解标签的思路
  • 我觉得刷题有以下几个阶段:
    1. 啥都不懂
    2. 了解标签以及对应的时间复杂度
    3. 根据题目标签知道怎么做这题
    4. 根据题目输入数据量,评估时间复杂度,根据时间复杂度评估会使用到哪些标签
    5. 根据题意联想到某些做过的题目,有可能是多个题目的缝合体,再结合第4阶段,完成题目
    6. 剩下的就是手速网速以及熟练度
  • 刷题 + 复盘肯定是有用的,特别是复盘,整理了这个列表后,最近两次周赛都获得了不错的成绩,特别是这场 第 379 场周赛 全国排名,打破了个人纪录排到第16名,努力还是有回报的。

最后希望2024年能再次有所突破。

评论 (22)