
算法
钢铁直男T_T
在学习技术的路上越走越远,希望回首时还能看见来时的脚印
展开
-
求两个字符串的最长公共子串
求两个字符串的最长公共子串 问题:有两个字符串str和str2,求出两个字符串中最长公共子串长度。 比如:str=acbcbcef,str2=abcbced,则str和str2的最长公共子串为bcbce,最长公共子串长度为5。 算法思路: 1、把两个字符串分别以行和列组成一个二维矩阵。 2、比较二维矩阵中每个点对应行列字符中否相等,相等的话值设置为1,否则设置为0。 3、通过查找出值为1的最长对角线就能找到最长公共子串。 针对于上面的两个字符串我们可以得到的二维矩阵如下: 从上图可以看到,str1和str转载 2021-01-24 13:11:20 · 601 阅读 · 0 评论 -
字符串暴力匹配算法
字符串暴力匹配算法 这个算法用到了字符串的charAt()方法,用来检测后一个字符串能否在前一个字符串中匹配到,如果有,返回第一个正确匹配字符的位置,否则返回-1。 具体怎么匹配的呢?我们有两个指针,i指针在第一个字符串,j指针在第二个字符串。当两个指针都在字符串范围内,i指针先和j指针指向的内容比较,如果相等,进入匹配模式,i走一步,j走一步,再比较,如果匹配完后,j的数值等于b字符串的长度,那不就是说明a字符串中有b吗,所以返回i-j也就是进入匹配的那个位置。如果在匹配过程中a.charAt(i)==b原创 2021-01-21 00:13:55 · 268 阅读 · 1 评论