Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크
문자열이 주어지면 에스
, 길이를 찾으세요 가장 긴 하위 문자열 문자를 반복하지 않습니다.
예시 1:
입력: s = "abcabcbb" 산출: 3 설명: 답은 "abc"이고 길이는 3입니다.
예 2:
입력: s = "bbbbb" 산출: 1 설명: 답은 "b"이고 길이는 1입니다.
예시 3:
입력: s = "푸우쿠우" 산출: 3 설명: 답은 "wke"이고 길이는 3입니다. 답은 하위 문자열이어야 하며 "pwke"는 하위 문자열이 아니라 하위 시퀀스라는 점에 유의하세요.
제약:
0 <= s.길이 <= 5 * 10 4
에스
영어 문자, 숫자, 기호, 공백으로 구성됩니다.
파이썬
# 시간 복잡도: O(n) # 공간 복잡도: O(min(m,n)) from collections import Counter class 솔루션: def lengthOfLongestSubstring(self, s: str) -> int: chars = Counter() left = right = 0 res = 0인 반면 오른쪽 < 길이(s): r = s[오른쪽] 문자[r] += 1인 반면 문자[r] > 1: l = s[왼쪽] 문자[l] -= 1 왼쪽 += 1 res = max(res, right - left + 1) right += 1 return res 입력 = "abcabcbb" print(Solution().lengthOfLongestSubstring(입력))