Skip to content

Commit 50e2997

Browse files
author
Joseph Luce
authored
Update 076_minimum_window_substring.md
1 parent 2d39607 commit 50e2997

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

leetcode/hard/076_minimum_window_substring.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ from collections import Counter
8888
8989
class Solution:
9090
def minWindow(self, s: str, t: str) -> str:
91-
char_counter = MinCharacterCounter(t)
91+
char_counter = CharacterCounter(t)
9292
str_builder, min_substr, found = '', s, False
9393
for right_ch in s:
94-
char_counter.increment(right_ch)
94+
char_counter += right_ch
9595
str_builder += right_ch
9696
if char_counter.is_valid:
9797
for left_ch in str_builder:
@@ -101,25 +101,27 @@ class Solution:
101101
min_substr = str_builder
102102
else:
103103
break
104-
char_counter.decrement(left_ch)
104+
char_counter -= left_ch
105105
str_builder = str_builder[1:]
106106
return min_substr if found else ''
107107
108-
class MinCharacterCounter:
108+
class CharacterCounter:
109109
def __init__(self, source_str):
110110
self._ch_to_n_counts = defaultdict(int)
111111
self._source_counts = Counter(source_str)
112112
self._n_valid_chars = 0
113113
114-
def increment(self, char):
114+
def __iadd__(self, char):
115115
self._ch_to_n_counts[char] += 1
116116
if char in self._source_counts and self._ch_to_n_counts[char] == self._source_counts[char]:
117117
self._n_valid_chars += 1
118+
return self
118119
119-
def decrement(self, char):
120+
def __isub__(self, char):
120121
self._ch_to_n_counts[char] -= 1
121122
if char in self._source_counts and self._ch_to_n_counts[char] == self._source_counts[char]-1:
122123
self._n_valid_chars -= 1
124+
return self
123125
124126
@property
125127
def is_valid(self):

0 commit comments

Comments
 (0)