LeetCode 3 Longest Substring Without Repeating Characters - Implementation

The approach

Hash map tracks last index of each character. Jump left past duplicates.

function lengthOfLongestSubstring(s): seen = {} left = 0 maxLen = 0 for right in range(len(s)): char = s[right] if char in seen and seen[char] >= left: left = seen[char] + 1 seen[char] = right maxLen = max(maxLen, right - left + 1) return maxLen

O(n)O(n) time, O(k)O(k) space where kk is the charset size.