blob: 13da3c4609818722c4f42dc7102cdbbab004e7c7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# 1358. Number of Substrings Containing All Three Characters
"""
given a string 's' consisting only of characters 'a', 'b', and 'c'. return
the number of substrings containing at least one occurence of all these
characters 'a', 'b', and 'c'.
"""
class Solution(object):
def numberOfSubstrings(self, s):
"""
:type s: str
:rtype: int
"""
cnt = {c: 0 for c in "abc"}
ans, i = 0, 0
for j in range(len(s)):
cnt[s[j]] += 1
while all(cnt.values()):
cnt[s[i]] -= 1
i += 1
ans += i
return ans
if __name__ == "__main__":
obj = Solution()
print(obj.numberOfSubstrings(s="abcabc"))
print(obj.numberOfSubstrings(s="aaacb"))
print(obj.numberOfSubstrings(s="abc"))
|