最长公共子序列:ACM 模式刷题
按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。
题目描述
给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。
一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。
· 例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。
两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。
输入格式
第一行输入 text1,第二行输入 text2。
输出格式
输出最长公共子序列长度。
数据范围
- 1 ≤ text1.length,text2.length ≤ 1000
- 字符串仅含小写字母
公开样例
样例 1
输入
abcde ace
输出
3
公共子序列 ace 长度为 3。
样例 2
输入
abc def
输出
0
两个字符串没有任何相同字符,因此最长公共子序列长度为 0。
练习建议
先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。