算法练习
月半小丸子
需要数据集,交流V:18789093732
展开
-
字符串匹配KMP算法
KMP算法:KMP算法主要是用于匹配子串的一种算法。这里除了KMP算法之外还给定了暴力算法,读者可以对比发现结构很相像。两种函数的作用都是在给定的文本串S1中寻找模式串S2有没有匹配。有返回S1中的索引位置,否则返回-1;两者算法区别:BF算法每次匹配失败时,模式串的游标都要置为0。KMP算法匹配失败时,利用next数组找到模式串游标需要指向的位置。** 难点** :next数组的产生。另外需要了解前缀后缀,真前缀真后缀的概念**方法1:暴力(等价于双重for循环)** /**BF原创 2020-05-12 19:40:30 · 211 阅读 · 0 评论 -
求最长的不含重复元素的子串的长度
方法1:for循环暴力破解主要思想:两层for循环找子串,另外定义一个判断是否含有重复元素的函数(也包含一层for循环),这样一来,时间复杂度就有点大了:O(n3) public static void main(String[] args) { System.out.println("The maximum length:"+lengthOfLongestSubstring1("5623...原创 2020-04-13 15:16:31 · 324 阅读 · 0 评论