Python
파이썬 알고리즘 인터뷰 - 30. 중복 문자 없는 가장 긴 부분 문자열
s코딩초보s
2022. 1. 27. 21:59
<--- 리트코드 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 |