<--- 리트코드 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 |
'Python' 카테고리의 다른 글
파이썬 알고리즘 인터뷰 - 32. 섬의 개수 (0) | 2022.01.29 |
---|---|
파이썬 알고리즘 인터뷰 - 31. 상위 K 빈도 요소 (0) | 2022.01.27 |
파이썬 알고리즘 인터뷰 -29. 보석과 돌 (0) | 2022.01.25 |
파이썬 알고리즘 인터뷰 - 27. k개 정렬 리스트 병합 (0) | 2022.01.25 |
파이썬 알고리즘 인터뷰 - 26. 원형 데크 디자인 (0) | 2022.01.24 |