
质量算法力扣实战
文章平均质量分 82
学学学学迷人的算法!!!
报错小能手
等我读懂代码的隐喻我早就死了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
力扣刷题心得: 动态规划(路径问题)
本文介绍了动态规划在路径问题中的应用。通过分析无后效性和数据范围确定是否使用DP,经验性地定义状态(通常与结尾或答案相关),并通过状态转移方程验证状态定义的正确性。文章列举了四个典型路径问题的DP解法:1)网格路径数量(二维DP);2)带障碍物的路径数量(障碍处理);3)最小路径和问题(累加最小值);4)三角形最小路径和问题(边界处理)。每种解法都展示了状态转移的核心思路和代码实现,突出DP在不漏/不重原则下的应用差异。时间复杂度分析表明DP效率与状态数量直接相关。原创 2025-09-30 14:00:17 · 743 阅读 · 0 评论 -
力扣刷题心得: 滑动窗口(初级)
本文介绍了滑动窗口算法及其应用。作者通过比较暴力解法(时间复杂度O(n²))和滑动窗口解法(时间复杂度O(n)),展示了该算法在解决子数组/子串相关问题时的优势。滑动窗口特别适用于统计最大最小长度、计算子串数量以及字符匹配等问题。文章以求解最小长度子数组和为target为例,详细讲解了滑动窗口的实现原理:通过左右指针动态调整窗口范围,避免重复计算,从而提升效率。代码示例展示了如何用滑动窗口将问题优化为线性时间复杂度。作者表示这是初次接触该算法,后续会继续探索其更多应用。原创 2025-09-23 18:55:25 · 703 阅读 · 0 评论 -
力扣刷题心得:自己理解的KMP算法(及时间空间优化)
本文详细介绍了KMP字符串匹配算法及其优化。作者首先通过暴力解法引出KMP算法,指出其通过next数组记录前后缀关系,将时间复杂度从O(n*m)优化到O(n+m)。文章深入解析了next数组的构建逻辑,并演示了KMP算法的实现过程。针对KMP的不足,作者提出两种优化方案:一是改进next数组存储方式,减少冗余跳转;二是通过实时回溯替代next数组,将空间复杂度降至O(1)。最后强调KMP的核心思想是失配时不回退主串,只跳子串,通过空间换时间提高匹配效率。原创 2025-09-23 00:43:57 · 1607 阅读 · 0 评论