Longest Substring Without Repeating Characters

Medium Subject: Sliding Window
Time Complexity
O(N)
Space Complexity
O(min(N, A))

Problem Description

Given a string s, find the length of the longest substring without repeating characters.

Optimal Solution

Python
def lengthOfLongestSubstring(s):
    char_set = set()
    left = 0
    max_len = 0
    for right in range(len(s)):
        while s[right] in char_set:
            char_set.remove(s[left])
            left += 1
        char_set.add(s[right])
        max_len = max(max_len, right - left + 1)
    return max_len