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