【leetcode】5. Longest Palindromic Substring最长回文子串
本文详细介绍了LeetCode第5题“最长回文子串”的解法。首先讲解了中心拓展算法的基本思路和Python实现,随后深入剖析了线性时间复杂度的马拉车算法,并提供了完整的代码示例及运行成果展示。
THE NOTEBOOK / 文章归档
每一次探索,都值得留下记录。
本文详细介绍了LeetCode第5题“最长回文子串”的解法。首先讲解了中心拓展算法的基本思路和Python实现,随后深入剖析了线性时间复杂度的马拉车算法,并提供了完整的代码示例及运行成果展示。
Manacher(马拉车)算法用 O(n) 时间求字符串最长回文子串。本文从中心拓展的瓶颈讲起,说明预处理、半径数组 p 和右边界复用的思路,并附 Python 实现。
本文记录了 LeetCode 第 4 题“寻找两个有序数组的中位数”的初次解题思路。作者通过合并数组并排序的方式实现了基本功能,但随后分析了该解法的时间复杂度不足,为后续优化奠定基础。
本文详细记录了 LeetCode 第 2 题“两数相加”的解题过程。首先介绍了题目要求,然后分享了初次使用递归提取数值并相加的实现方法。最后,通过模拟竖式加法优化了算法,提升了性能,并提供了完整的 Python 代码实现和运行结果截图。
本文详细记录了LeetCode第3题“无重复字符的最长子串”的解题过程。从最初的暴力解法到后续的滑动窗口优化,提供了完整的Python代码实现和思路分析,帮助理解字符串处理中的滑动窗口算法技巧。
本文详细记录了LeetCode第一题“两数之和”的解题思路与优化过程。从暴力解法开始,逐步优化到使用哈希表实现O(n)时间复杂度,适合JavaScript算法初学者学习参考。