2
def findTheLongestSubstring(self, s: str) -> int:4
(False, False, False, False, False)5
] # integrals[10][mapping["a"]] == False means we have seen "a" appears even times before index 106
mapping = {"a": 0, "i": 1, "u": 2, "e": 3, "o": 4}9
vector = list(integrals[-1])10
if v in mapping: # if v is a vowel11
vector[mapping[v]] = not vector[13
] # toggle that dimension, because if v had appeared even times before, it becomes odd times now14
integrals.append(tuple(vector))19
for i, v in enumerate(integrals):20
if v in seen: # we have seen this vector before21
res = max(res, i - seen[v]) # compare its substring length23
seen[v] = i # just record the first time each vector appears