#1790. LCS 问题
LCS 问题
题目描述
如果长度为 的字符串 满足以下条件,则称它是 单调不减 的:
- 对于 ,有 。这里是按照 ASCII 码比较,即 。
例如,acos
, abs
和 nnu
是单调不减的,但 sin
和 pzr
不是。
简单来说就是字符串已经按照字母顺序从小到大排序。
给出仅由小写字母组成的 单调不减 的字符串 ,求 和 的 最长公共子串 的长度。
所谓 子串,就是从一个字符串当中截取一段 完整 的部分,且不改变顺序。例如 abcd
的子串有 ab
,abc
,但 abd
,ba
不是它的子串。
所谓 最长公共子串 ,就是两个字符串的 最大的共有 的子串。例如字符串 abcb
和 adbc
的最长公共子串就是 bc
。
输入格式
包含两行。第一行一个字符串 ,第二行一个字符串 。
输出格式
仅一个非负整数,表示最长公共子串的长度。若不存在最长公共子串,输出 0
。
aabbcdeee
abbcccee
4
abcd
abcd
4
aaaabbbdddeeeefffgggggghhhhiiiiiijjjjkklllmnoooooopppppqrrrrtttttttuuuuuvvwwwwxxxxxyyzzzz
aaaccdddddddeeeeffffghhhhhiiiijjkkkklllmmmnnnnoooooppqqqrrrrrrrsssssttuuuvvvvvwwwwwwyyzzz
10
样例 1 解释
s = a abbc deee
t = abbc ccee
最长公共子串为 abbc
,长度为 。可以证明无法找到更长的公共子串。
提示
规定 分别指代字符串 与 的长度。
- 对于 的数据满足,。
- 其中 的数据满足,两个字符串只含有字符
a
- 另外 的数据满足,两个字符串只含有字符
a
与b
- 对于 的数据满足,。
和 仅由小写字母组成,保证 和 是单调不减的。