惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
博客园 - 司徒正美
罗磊的独立博客
D
Docker
Last Week in AI
Last Week in AI
爱范儿
爱范儿
M
MIT News - Artificial intelligence
V
V2EX
Google DeepMind News
Google DeepMind News
小众软件
小众软件
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
V
Visual Studio Blog
博客园 - 叶小钗
B
Blog RSS Feed
A
About on SuperTechFans
F
Fortinet All Blogs
T
The Blog of Author Tim Ferriss
Martin Fowler
Martin Fowler
P
Proofpoint News Feed

博客园 - guolongnv

useful Claude code skills & plugins bell in bash Anaconda usage tips python编程提升1(答案篇) python编程提升1(问题篇) How p4 get authorized How to format a jason file in vim How to open utfb8 in linux env json 文件查看和编辑 How to change the color display of directories in putty? Screen frequency used commamd How to load yaml file in python How to get IPv4 address Basic mysql command 4. Median of Two Sorted Arrays 42.trapping-rain-water 1.two sum pandas教程 How to make mail more effectively?
3.lengthOfLongestSubstring
guolongnv · 2021-07-31 · via 博客园 - guolongnv

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)