<--- 리트코드 3. Longest Substring Without Repeating Characters --->

# 문제: 중복 문자가 없는 가장 긴 부분 문자열의 길이를 리턴하라.

 

입력

"abcabcbb"

출력

3

 

입력

"bbbbb"

출력

1

 

입력

"pwwkew"

출력

3

 

 

# 풀이

1. 슬라이딩 윈도우와 투 포인터로 사이즈 조절

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def length_of_longer_substring(str):
  used = {}
  max_length = start = 0
  for index, char in enumerate(str):
    if char in used and start <= used[char]:
      start = used[char] + 1
    else:
      max_length = max(max_length, index - start + 1)
 
    used[char] = index
 
  return max_length
 
str = "abcabcbb"
print(length_of_longer_substring(str))
cs