算法题目
在实际的文本处理和数据分析工作中,常常需要对字符串进行各种操作和判断。现在有这样一个问题情境:给定两个字符串target
和source
,需要判断target
是否为source
的子序列。这里规定target
和source
中仅包含英文小写字母,并且source
可能是一个很长的字符串,长度大约为500000,而target
是一个相对较短的字符串,长度小于等于100。
字符串的子序列是指从原始字符串中删除一些(也可以不删除)字符,同时不改变剩余字符相对位置所形成的新字符串。例如,abc
是aebycd
的一个子序列,而ayb
不是。
现在要求找出target
在source
中最后一个子序列的起始位置,也就是最后一个子序列首字母在source
中的下标。如果在source
中找不到target
这样的子序列,则输出 -1。
输入要求为:第一行输入target
这个短字符串,第二行输入source
这个长字符串。