标签:substring max Substring start length Without answer Input Repeating
Longest Substring Without Repeating Characters leetcode
Medium
Given a string, find the length of the longest substringwithout repeating characters.
Example 1:
Input: "abcabcbb"
Output: 3
Explanation: The answer is "abc", with the length of 3.
Example 2:
Input: "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.
Example 3:
Input: "pwwkew"
Output: 3
Explanation: 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.
Code
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
start = -1
max = 0
# dictionary d
d = {}
for i in range(len(s)):
if s[i] in d and d[s[i]] > start:
start = d[s[i]]
d[s[i]] = i
else:
d[s[i]] = i
if i - start > max:
max = i - start
return max
Sample 3 Explaination
Input: "pwwkew"
Output: 3
Explanation: 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.
Start state: d = {} start = -1(because if string s is empty ,return 1,if start = 0,then i - start = 0,so initialize start = -1) ,max = 0(longest substring without repeating characters)
i | d | start | max |
---|---|---|---|
i = 0 | {'p':0} | -1 | 1 |
i = 1 | {'p':0,'w':1} | -1 | 2 |
i = 2 | {'p':0,'w':2} | 1 | 2 |
i = 3 | {'p':0,'w':2,'k':3} | 1 | 2 |
i = 4 | {'p':0,'w':2,'k':3,'e':4} | 2 | 1 |
i = 5 | {'p':0,'w':5,'k':3,'e':4} | 2 | 3 |
标签:substring,max,Substring,start,length,Without,answer,Input,Repeating 来源: https://www.cnblogs.com/CS-WLJ/p/11249332.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。