# -*- coding: utf-8 -*-
'''
3. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring
without repeating characters.
Examples:
Given "abcabcbb", the answer is "abc", which the length is 3.
Given "bbbbb", the answer is "b", with the length of 1.
Given "pwwkew", the answer is "wke", with the length of 3.
Note that the answer must be a substring,
"pwke" is a subsequence and not a substring.
'''
class Solution(object):
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
start = max_len = 0
used_char = {}
for i in range(len(s)):
if s[i] in used_char and start <= used_char[s[i]]:
start = used_char[s[i]] + 1
else:
max_len = max(max_len, i - start + 1)
used_char[s[i]] = i
return max_len
if __name__ == '__main__':
tests = ['abcabca', 'bbbbb', 'pwwekw', 'abcbefg']
solution = Solution()
for s in tests:
solution.lengthOfLongestSubstring(s)
3. Longest Substring Without Repeating Characters
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 题目 原题链接Given a string, find the length of the longest sub...
- 最近好久没有更新博客了,因为博主最近忙于学校的一些学业工作。大三下学期嘛,还是挺忙的-,-。下面我们来看一下这道题...
- LeetCode Problems Solutions question description:问题描述 Giv...
- Given a string, find the length of the longest substring ...