LeetCode算法题训练

力扣刷题训练

开始记录力扣的刷题之路

刷题思路来自灵茶山艾府

入门题单

训练方法 A

  • 滑动窗口(定长/不定长/多指针)
  • 二分算法(二分答案/最小化最大值/最大化最小值/第K小)
  • 单调栈(基础/矩形面积/贡献法/最小字典序)
  • 网格图(DFS/BFS/综合应用)
  • 位运算(基础/性质/拆位/试填/恒等式/思维)
  • 图论算法(DFS/BFS/拓扑排序/最短路/最小生成树/二分图/基环树/欧拉路径)
  • 动态规划(入门/背包/状态机/划分/区间/状压/数位/数据结构优化/树形/博弈/概率期望)
  • 常用数据结构(前缀和/差分/栈/队列/堆/字典树/并查集/树状数组/线段树)
  • 数学算法(数论/组合/概率期望/博弈/计算几何/随机算法)
  • 贪心算法(基本贪心策略/反悔/区间/字典序/数学/思维/脑筋急转弯/构造

优点:突击训练特定知识点,可以掌握常用算法套路。按照题单专题刷,一个套路可以解决多个题目,刷题效率高。

缺点:提前知道题目类型,跳过了一些思考步骤。但比赛/笔试是不会告诉你这题是什么类型的,把 DP 想成贪心的大有人在。可以结合下面的训练方法,锻炼自己判断题目类型的能力

训练方法 B

随机刷题,但控制难度范围

  • 打开 难度练习。

  • 在设置中关闭算法标签。

  • 选择适合自己的难度范围,开刷!

优点:做题时不知道题目类型,可以训练实战能力。

缺点:知识点有些零散,适合已经掌握常用算法的同学查漏补缺,检验自己的学习成果。

训练方法 C

如果时间很少,可以突击训练 HOT 100

相关推荐
1000世界小札5 小时前
《大话数据结构》第9章精读:归并排序与快速排序完整 C++ 实现
数据结构·c++·算法
2601_956121978 小时前
背包基础篇(01、完全、分组、多重、混合)
c++·算法·动态规划
兴通物联科技9 小时前
SMT PCB 微小 DataMatrix 码扫不动问题分析 兴通 XT8601B 600 万像素工业读码器落地实践
大数据·人工智能·单片机·嵌入式硬件·算法·计算机视觉
月华路12 小时前
G1 GC 对数组与大对象(Humongous)的处理
java·jvm·算法
我想走路带风12 小时前
LRU和最长前缀和(计算机网络算法)
计算机网络·算法
M78佐菲12 小时前
Linux学习笔记:进程
linux·笔记·学习·算法
徐小夕14 小时前
表格、文档、甘特、大屏、表单一站打通:pxcharts超级表格4.0正式上线!
前端·算法·github
Xin77014 小时前
LeetCode 23.合并 K 个升序链表(分治递归)
leetcode
TechLee14 小时前
跨语言加解密总对不上?这个纯 Go 神库让 AES/RSA 与 PHP、Java 100% 互通
java·后端·算法