1.题目
万物皆可循环
给定M个不重复字符串【a,b,c,d】,以及一个长度为n的字符串tbacabdata,问能否在这个字符串中找到一个长度为M的连续子串,使得这个子串的长度刚好刚好由上面M个字符组成,顺序无所谓,返回任意满足条件的一个子串的起始位置,未找到的返回-1,比如上面的例子为 abcd 3。
mins = "abcd"
longs = "123dbasaswaasd"
def getMinString(mins,longs):
pointerAt = 0
a = 0
while True:
for j in mins:
if j not in longs[pointerAt:pointerAt+len(mins)]:
break
else:
a+=1
continue
if a == len(mins):
return pointerAt
pointerAt += 1
a = 0
if pointerAt==len(longs)+1:
return -1
if __name__ == '__main__':
print(getMinString(mins, longs))