Leetcode Python - 3. Longest Substring Without Repeating Characters
Leetcode #3 - Longest Substring Without Repeating Characters
이제 blind 75 leetcode를 풀어보겠습니다. https://leetcode.com/discuss/interview-question/460599/Blind-75-LeetCode-Questions
리트코드의 문제 3 ‘Longest Substring Without Repeating Characters’을 파이썬으로 풀어 보도록 하겠습니다.
discuss 참고 포인트는 slicing window 패턴을 이용해 풀 수 있습니다.
전체 코드는 아래와 같습니다.
class Solution:
def lengthOfLongestSubstring(self, s):
start = maxLength = 0
usedChar = {}
for i,c in enumerate(s):
if c in usedChar and start <= usedChar[s[i]]:
start = usedChar[c] + 1
else:
maxLength = max(maxLength, i - start + 1)
usedChar[c] = i
return maxLength
시간복잡도는
- O(n) : 한번의 loop
공간복잡도는
- O(1) : 상수 선언