文章浏览阅读34次。本文深入解析LeetCode第28题(实现strStr)的五种字符串匹配算法:暴力匹配、KMP、Sunday、Rabin-Karp及Java内置indexOf。重点剖析KMP的next数组构建与匹配机制、Sunday的偏移表设计与平均性能优势、Rabin-Karp的滚动哈希原理,并对比各算法时间复杂度、边界处理、工程适用性与面试要点 ...
记录我的 LeetCode 刷题过程。每道题的代码放在 solutions/ 目录下,题号与文件一一对应,并按题目记录在下面的索引表里。 2两数相加中等 Python3 哑结点 + 逐位相加0002-add-two-numbers.py2026-10-08 3无 ...
84. 柱状图中最大的矩形:单调栈、左右双 0 哨兵。373. 查找和最小的 K 对数字:小根堆、tuple、多路归并。622. 设计循环队列:数组、循环下标、front + count。645. 错误的集合:计数、原地标记、位 ...
Clone this repository at <script src="https://gist.github.com/carefree-ladka/6d1722421f9e1e46bd2dbdb5ea1b4684.js"></script> Save carefree-ladka ...
分析滑动窗口的本质,彻底掌握滑动窗口。 视频中涉及到的题目 【无重复字符的最长子串】https://leetcode.cn/problems/longest ...
动态规划到底是只属于天才的灵光乍现?还是普通人也可以模仿学习?以【最长递增子序列】这个经典模型,来看那些突然蹦出来的状态到底是怎么来的 回溯七步法,从此回溯是送分题。
字符串有很多比较经典的算法问题,例如:LIS(最长递增子序列)、LCS(最长公共子序列、最长公共子串)、LCP(最长公共前缀)、LPS(最长回文子序列、最长回文子串)、ED(最小编辑距离 ...