Leetcode: Longest Substring Without Repeating Characters, Python3
December 24, 2019•95 words
987 / 987 test cases passed.
Status: Accepted
Runtime: 56 ms (beats 85.87% of submissions)
Memory Usage: 12.7 MB (beats 100.00% of submissions)
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
if len(s) <= 1: return len(s)
start = 0
end = 1
longest = 1
seen = {s[start]: 0}
while end < len(s):
if s[end] not in seen:
seen[s[end]] = end
end += 1
if end - start > longest:
longest = end - start
else:
newStart = seen[s[end]] + 1
for i in range(start, newStart):
seen.pop(s[i])
start = newStart
return longest