Find All Anagrams in a String LeetCode solution in Python

1
from collections import Counter
2

3

4
class Solution:
5
def findAnagrams(self, s: str, p: str) -> List[int]:
6
l = "abcdefghijklmnopqrstuvwxyz"
7
if len(p) > len(s):
8
return []
9
d = {}
10
for x in l:
11
d[x] = 0
12
d1 = dict(d)
13
d2 = dict(d)
14
for x in range(len(p)):
15
d1[s[x]] += 1
16
d2[p[x]] += 1
17
l1 = []
18
if d1 == d2:
19
l1 = [0]
20
# print(d1)
21
for x in range(len(p), len(s)):
22
d1[s[x]] += 1
23
d1[s[x - len(p)]] -= 1
24
if d1 == d2:
25
l1.append(x - len(p) + 1)
26
return l1

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0