算法设计
📄️ 数组字符串
88. 合并两个有序数组
📄️ 双指针
125. 验证回文串
📄️ 滑动窗口
209. 长度最小的子数组
📄️ 矩阵
36. 有效的数独
📄️ Hash表格
383. 赎金信
📄️ 区间
228. 汇总区间
📄️ 栈
20. 有效的括号
📄️ 链表
141. 环形链表
📄️ 二叉树
104. 二叉树的最大深度
📄️ 图
网格 DFS 遍历的框架代码
📄️ 字典树
208. 实现 Trie (前缀树)
📄️ 回溯
17. 电话号码的字母组合
📄️ 分治
108. 将有序数组转换为二叉搜索树
📄️ Kadane算法
Kadane's算法是一种用于解决最大子数组和问题(Maximum Subarray Sum Problem)的动态规划算法。该问题的目标是在一个给定数组中找到一个连续子数组,使得子数组的和最大。
📄️ 二分查找
35. 搜索插入位置
📄️ 堆
215. 数组中的第K个最大元素
📄️ 位运算
67. 二进制求和
📄️ 数学
9. 回文数
📄️ 动态规划
动态规划的题目分为两大类,一种是求最优解类,典型问题是背包问题,另一种就是计数类,比如这里的统计方案数的问题,它们都存在一定的递推性质。前者的递推性质还有一个名字,叫做 「最优子结构」 ——即当前问题的最优解取决于子问题的最优解,后者类似,当前问题的方案数取决于子问题的方案数。所以在遇到求方案数的问题时,我们可以往动态规划的方向考虑。
🗃️ 算法重要知识点
3 个项目
点我查看更多精彩内容:www.flydean.com
Loading Comments...