题目描述
我们称一个字符串 S 包含字符串 T 是指 T 是 S 的一个子序列,即可以从字符串 S 中抽出若干个字符,它们按原来的顺序组合成一个新的字符串与 T 完全一样。
给定两个字符串 S 和 T,请问 T 中从第一个字符开始最长连续多少个字符 被 S 包含?
输入描述
输入两行,每行一个字符串。第一行的字符串为 S,第二行的字符串为 T。两个字符串均非空而且只包含大写英文字母。
输出描述
输出一个整数,表示答案。
输入输出样例
示例
输入
ABCDEABCD
AABZ
输出
3
运行限制
最大运行时间:1s
最大运行内存: 256M
源码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class 最长子序列 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String s=br.readLine();
String t=br.readLine();
int cnt=0;
for (int i = 0,j=0; i<s.length()&&j<t.length();) {
if (t.charAt(j)==s.charAt(i)) {
cnt++;
i++;
j++;
}else {
i++;
}
}
System.out.println(cnt);
}
}