philosyang.com

3. Longest Substring Without Repeating Characters: revisit 2

Let’s tackle this again again!

 1class Solution:
 2    def lengthOfLongestSubstring(self, s: str) -> int:
 3        if not s:
 4            return 0
 5
 6        n = len(s)
 7        l = 0
 8        r = -1
 9        pos = {}
10        max_len = 1
11
12        while r < n - 1:
13            r += 1
14            if pos.get(s[r], -1) >= l:
15                l = pos[s[r]] + 1
16            pos[s[r]] = r
17            max_len = max(max_len, r - l + 1)
18
19        return max_len

#Neetcode150 #Sliding-Window #Python