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.
Complexity
Time complexity: O(n)
Space complexity: O(1)
Code
deflengthOfLongestSubstring(self,s:str) ->int: n =len(s)if n <2:#no prepeating word when n < 2return n res, tmp ="",""#init result and tmp substringfor i, c inenumerate(s):if c notin tmp:#simply add char if not include tmp += celse: idx = tmp.find(c)#find index of char in tmp tmp = tmp[idx+1:]+ c res = tmp iflen(tmp)>len(res)else resreturnlen(res)