OD C卷 - 有效子字符串
文章目录
- 有效子字符串
有效子字符串
- 输入两个字符串S, L,都只包含小写字母;
- len(S) <= 100, len(L) <= 500000,判断S是否是L的有效子字符串;
- 判断规则:
- S中的每个字符在L中都能找到(可以不连续),且S在L中字符的前后顺序与S中的顺序要保持一致。
- 例如: S=“ace” 是L="abcde"的一个有效子序列,而“aec”不是有效子序列,且有效字符只有a、e
输入描述:
输入字符串S
输入字符串L
输出描述:
S最后一个有效字符在L中的位置,索引从0开始,若S为无效序列返回-1;
示例1
输入:
ace
abcde
输出:
4
示例2
输入:
fgh
abcde
输出:
-1
思路:
- 首先S字符串必须是有效的L的子串,所有必定每个字符都可以在L中按照顺序找到;
- 否则,S无效,输出-1
s_arr = input()
l_arr = input()
index1 = 0
index2 = 0while index1 < len(s_arr) and index2 < len(l_arr):if s_arr[index1] == l_arr[index2]:index1 += 1index2 += 1if index1 == len(s_arr):print(index2 - 1)
else:print(-1)