LeetCode 3 - Longest Substring Without Repeating Characters Problem

Problem Statement

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

Example 1:

Input: "abcabcbb"
Output: 3 
Explanation: The answer is "abc", with the length of 3. 

Example 2:

Input: "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.

Example 3:

Input: "pwwkew"
Output: 3
Explanation: The answer is "wke", with the length of 3. 
             Note that the answer must be a substring, "pwke" is a subsequence and not a substring.

Solution:

class Solution: def lengthOfLongestSubstring(self, s: str) -> int: if not s: return 0 maximum=0 i=j=0 unique = {} while j<len(s): if s[j] not in unique: unique[s[j]] = 1 maximum += max(len(unique), maximum) j+=1 else: unique.pop(s[i]) i+=1 return maximum