Longest Substring Without Repeating Characters
leetcode/longest-substring-without-repeating-characters
Code
- O(N) : 76 ms, faster than 41.03% (느리다)
class Solution:
def lengthOfLongestSubstring(self, s):
answer = 0
size = 0
bIdx = 0
shown = defaultdict(int)
for fIdx, ch in enumerate(s):
size += 1
shown[ch] += 1
while bIdx < fIdx and shown[ch] > 1:
shown[s[bIdx]] -= 1
bIdx += 1
size -= 1
answer = max(size, answer)
return answer
src = "abcabcbb"
answer = Solution().lengthOfLongestSubstring(src)
print(answer)
src = "bbbbb"
answer = Solution().lengthOfLongestSubstring(src)
print(answer)
src = "pwwkew"
answer = Solution().lengthOfLongestSubstring(src)
print(answer)
src = ""
answer = Solution().lengthOfLongestSubstring(src)
print(answer)