题: 给定字符串 S and T,找出 S 中最短的(连续)子串 W ,使得 T 是 W 的 子序列 。
如果 S 中没有窗口可以包含 T 中的所有字符,返回空字符串 “”。 如果有不止一个最短长度的窗口,返回开始位置最靠左的那个。
示例: 输入:S = “abcdebdde”, T = “bde” 输出:“bcde” 解释: “bcde” 是答案,因为它在相同长度的字符串 “bdde” 出现之前。 “deb” 不是一个更短的答案,因为在窗口中必须按顺序出现 T 中的元素。
"""代码如下所示""" class Solution: def minlen(self,s,t): def iscontain(s,t): i=0 j=0 while i<len(s): if s[i]==t[j]: j+=1 if j==len(t): return True i+=1 return False ans=s+s l=0 while l<len(s): for r in range(len(s)): if iscontain(s[l:r+1],t): if len(ans)>r+1-l: ans=s[l:r+1] l+=1 return ans if __name__=="__main__": c=Solution() s="abcdebdde" t="bde" print(c.minlen(s,t))