## Problem Statement

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

**Example 1:**

Input:"abcabcbb"Output:3Explanation:The answer is`"abc"`

, with the length of 3.

**Example 2:**

Input:"bbbbb"Output:1Explanation:The answer is`"b"`

, with the length of 1.

**Example 3:**

Input:"pwwkew"Output:3Explanation:The answer is`"wke"`

, with the length of 3. Note that the answer must be asubstring,`"pwke"`

is asubsequenceand 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