题目
给一个s和p返回p在s中同字母异序词的起始位置
s: “cbaebabacd” p: “abc”
Output:[0, 6]
思路
滑动窗口
代码
def areAnagram(str1, str2):
if len(str1) != len(str2):
return False
return sorted(str1) == sorted(str2)
def findAnagrams(s,p):
length = len(p)
list1 = []
for i in range(len(s)-length):
if areAnagram(p,s[i:length+i]) is True:
list1.append(i)
return list1
s = "cbaebabacd"
p = "abc"
a = findAnagrams(s, p)
print(a)