一、区别 给定两个字符串,求LCS 最长公共子串 (Longest Common Substring): 要求是连续的字符串 最长公共子序列(Longest Common Subsequence):要求子字符串相对顺序不变即可 二、动态规划求解 1、最长公共子串 给定两个字符串A 和 B 用二维数组 ...
分类:
其他好文 时间:
2020-06-01 23:43:29
阅读次数:
64
最长公共子序列(Longest-Common-Subsequences,LCS)是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。最长公共子串(Longest-Common-Substring,LCS)问题是寻找两个或多个已知字符串最长的子串。此问题与最长公共子序列问题的区 ...
分类:
其他好文 时间:
2020-05-24 12:11:48
阅读次数:
59
目录 最长公共子序列 编辑距离 最长上升子序列 结合上一篇文章,再继续尝试解决动态规划题目 一、1143. 最长公共子序列 1.1 问题: 给定两个字符串text1 和text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序... ...
分类:
编程语言 时间:
2020-05-23 10:02:05
阅读次数:
67
分别从左向右,从右向左遍历最短的字符串,遍历时截取最短字符串的每一个子串,看长字符串中是否包含这个子串,包含的话把长度push到数组中 function getM(str1, str2){ var len = str1.length >= str2.length ? str2.length : st ...
分类:
其他好文 时间:
2020-05-12 11:17:53
阅读次数:
69
1.第四章学习的内容是串,数组和广义表 串的模式匹配有两种算法,一种是BF算法,也是最传统的算法,耗时久,时间复杂度是O(m*n),另一种就是KMP算法,时间复杂度是O(m+n) 跟之前的数组比起来,这章学习的数组还可以用链式结构,根据用户自行选择,还学了特殊矩阵的压缩存储 广义表则是一种递归的线性 ...
分类:
其他好文 时间:
2020-05-05 23:17:12
阅读次数:
52
"D. Alyona and Strings" 题意 给出两个字符串s,t,让找出最长的k个在s,t不相交的公共子串。 思路 看了好几个题解才搞懂。 代码中有注释 代码 ...
分类:
其他好文 时间:
2020-04-30 19:27:39
阅读次数:
59
原题点这里 水平扫描:依次取每个str的第i个字符,若相同,则公共子串+1,否则结束。 public static String longestCommonPrefix(String[] strs) { int strNum = strs.length; if(strNum==1) return s ...
分类:
其他好文 时间:
2020-04-03 21:59:00
阅读次数:
58
LINK: "公共串" 给定n个串 求最长公共子串的长度。 可以广义SAM 求出类似于right集的表示分属某个串的东西可以直接暴力跳 当然这里n只有5 所以可以状压一下用按位或 来做 最后扫一下所有节点就行了。 但我打算使用SA来做 串在一起求SA 经典做法是二分 因为很难找到答案。 但是分析性质 ...
分类:
其他好文 时间:
2020-03-28 19:52:58
阅读次数:
70
记录一下这几天刷的后缀自动机的题目 "Glass Beads UVA 719" 求 $S$ 循环同构的最小表示 将 $S$ copy 成 $SS$ 后建出后缀自动机,按字典序走 $n$ 步即可 代码 "Longest Common Substring SPOJ LCS" 求两个串的最长公共子串 对第 ...
分类:
其他好文 时间:
2020-03-17 19:45:45
阅读次数:
76
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2: 输入: "cbbd"输出: "bb" 解:这题我首先颠倒以下,用的最长公共子串的方法,发现有些情况下是错的, ...
分类:
其他好文 时间:
2020-02-15 18:42:27
阅读次数:
67