每个输入包含一个测试用例。每个测试用例包含两行长度不超过 10 的不包含空格的可见 ASCII 字符串。
输出一行 “Yes” 或者 “No” 表示结果。
nowcodecom ooo
Yes
s = input()
t = input()
if t=='':
print('Yes')
else:
s_i = 0 #用来作为初始索引
count = 0 #用来记录匹配上字符的个数
for t1 in t:
for i in range(s_i,len(s)):
if s[i]==t1:
#当i不等于最大的时候,初始索引应该是匹配到的后一位,即i+1
if i!=len(s):
s_i = i+1
count+=1
break
if count ==len(t):
print('Yes')
else:
print('No') 1,取子序列N2第一个字符找出在原始序列N1的第一个的位置索引号保存在res[],并且同时删除原始序列中
包括此位置之前的所有字符
2,继续第一步直道子序列查找完毕(中间出现子序列任何一个字符不存在于原始序列输出No结束)
3,将res升序排序后与原始res比较相等则输出Yes,否则输出No
import sys
N1=input()
N2=input()
def a(N1,N2):
res=[]
if N2 in N1:
print('Yes')
else:
for i in N2:
if(i in N1):
n=N1.index(i)
res+=[n]
N1=N1[n+1:]
else:
print('No')
return
res1=res
res.sort()
if(res==res1):
print('Yes')
else:
print('No')
a(N1,N2) string.find(str, beg=0, end=len(string))
s='absdefgh' sub='asdf'
s=input() sub=input() index=0 flag='Yes' for i in sub: #利用 find函数 寻找子字符串中 每个字符的位置,其中index为初始位置,如果当前的字符存在, #则下一次寻找范围应该再当前字符位置后,故index=index+1 index1=s.find(i,index,len(s)) if index1!=-1: index=index1+1 else: flag='No' print(flag)
import re
str1 = input()
str2 = input()
item = ""
for i in str2:item +=".*"+i
item += ".*"
if re.search(item, str1):print("Yes")
else:print("No")