3.lengthOfLongestSubstring
Q:
Given a string s
, find the length of the longest substring without repeating characters.
Example 1:
Input: s = "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3.
Example 2:
Input: s = "bbbbb" Output: 1 Explanation: The answer is "b", with the length of 1.
Example 3:
Input: s = "pwwkew" Output: 3 Explanation: The answer is "wke", with the length of 3. Notice that the answer must be a substring, "pwke" is a subsequence and not a substring.
Example 4:
Input: s = "" Output: 0
Example 5:
Input: s = "dvdf" Output: 3
Constraints:
0 <= s.length <= 5 * 104
s
consists of English letters, digits, symbols and spaces.
Answer
1.
class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ output = [] l_max=0 if s: for x in s: if x not in output: output.append(x) l_1=len(output) if l_1 > l_max: l_max=l_1 else: i = output.index(x) output=output[i+1:] output.append(x) return l_max
2.
#!/usr/bin/python class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ start=max_l=0 used_chart = {} for i in range(len(s)): print("s[i],i",s[i],i) if s[i] in used_chart and start <=used_chart[s[i]]: start=used_chart[s[i]]+1 else: max_l=max(max_l,i-start+1) used_chart[s[i]] = i return(max_l)
好的心态+正确的方法