10届国赛java B组蓝桥杯: 最长子序列

最长子序列


【问题描述】
我们称一个字符串S包含字符串T是指T是S的一个子序列,即可以从字符串S中抽出若干个字符,它们按原来的顺序组合成一个新的字符串与T完全一样。
给定两个字符串S和T,请问最少修改S中的多少个字符,能使S包含T ?
【输入格式】
输入两行,每行一个字符串。第一行的字符串为s,第二行的字符串为T。两个字符串均非空而且只包含大写英文字母。
【输出格式】
输出一个整数,表示答案。
【样例输入】
ABCDEABCD
AABZ
【样例输出】
3

思路:
思路很简单,从头到尾遍历串S,遇到与 t[p] 相同的 k++ 即可,最终运行结束 k就是答案

s=input()
t=input()
k=0
for i in range(len(s)):
     if s[i]==t[k]:
          k+=1
          if k==len(t):
               break
print(k)

禁止转载。仅用于自己学习。对程序错误不负责。

猜你喜欢

转载自blog.csdn.net/weixin_46640345/article/details/112426535