3. Longest Substring Without Repeating Characters
来源:互联网 发布:中老年品位 知乎 编辑:程序博客网 时间:2024/06/15 10:55
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.
Subscribe to see which companies asked this question
主要考察字符串中的最大子串。
思路很简单:
1,由于需要判重并且记录索引,所以这里采用hashmap
2,一个字符串中无重的子串可能不止一个,要求得最大子串的长度,肯定需要max函数来不断更新最大值
3,从头开始,依次遍历字符串,并记录子串长度,同时更新子串最大值,若子串达到极限且字符串未到末尾,确定下一个子串的开始位置,并重新计算长度
class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ start = 0 maxlen = 0 dic = {} for i in range(len(s)): if s[i] in dic and start<=dic[s[i]]: start = dic[s[i]] + 1 else: maxlen = max(maxlen, i-start+1) dic[s[i]] = i return maxlen
确定新子串的开始位置是本题的难点。
0 0
- [LeetCode]3.Longest Substring Without Repeating Characters
- LeetCode 3.Longest Substring Without Repeating Characters
- LeetCode --- 3. Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- [Leetcode] 3. Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters
- [leetcode] 3.Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- [leetcode] 3. Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters
- [Leetcode]3. Longest Substring Without Repeating Characters
- leetcode 3. Longest Substring Without Repeating Characters
- 【Leetcode】3. Longest Substring Without Repeating Characters
- 欢迎使用CSDN-markdown编辑器
- 进程创建关于fork()浅解
- Linux下的C语言编程——简单实现tcp客户端和服务器
- 理解线程3 c语言示例线程基本操作
- C语言编译的各个阶段
- 3. Longest Substring Without Repeating Characters
- Oracle进阶一
- 【考研数学】——高数
- mysql在线将基于日志的复制和基于事务的复制互换
- Pthread使用总结
- 判断一个字符串是否是另一个字符串的左旋,如果是输出左旋的次数
- VS2013/MFC编程入门之三十三(菜单:菜单及CMenu类的使用)
- Spring4配置websocket,基于xml从零(0)开始
- 剑指offer面试题2—实现Singleton模式(Java实现)