随笔分类 - 算法
摘要:Knuth-Morris-Pratt(KMP)算法是一种用于字符串匹配的高效算法。它在比较字符串的过程中,利用了已知信息,避免了不必要的比较。这种算法的核心思想是当子串与目标字符串不匹配时,能知道一部分已经匹配的子串,利用这些信息让子串尽可能地移动到正确的位置再继续进行比较。 def compute
阅读全文
摘要:相反方向 两数之和 II - 输入有序数组给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= in
阅读全文
摘要:给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2: 输入:s = "cbbd"输出:"bb" 作者:LeetCode链接:https
阅读全文
摘要:快速排序是一种经典的排序算法,它的基本思想是通过一次排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 以下是使用 Python 实现的快速排序: python
阅读全文