Homologous words

topic

Return the starting position of the same-letter word in s for s and p.
s: “cbaebabacd” p: “abc”
Output:[0, 6]

Ideas

Sliding window

Code

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)

Guess you like

Origin blog.csdn.net/aaaqqq1234/article/details/107803125