zoukankan      html  css  js  c++  java
  • 剑指offer 面试48题

    面试48题:
    题目:最长不含重复字符的子字符串

    题:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长字符串的长度。假设字符串中只包含‘a’-‘z’的字符。例如,在字符串“arabcacfr”中,最长的不含重复字符的子字符串是“acfr”,长度为4。

    解题代码一:

    class Solution:
        def lengthOfLongestSubstring(self, s):
            """
            :type s: str
            :rtype: int
            """
            start=0
            maxLength=0
            usedChar={}
            for i in range(len(s)):
                if s[i] in usedChar and start<=usedChar[s[i]]:
                    start=usedChar[s[i]]+1
                else:
                    maxLength=max(maxLength,i-start+1)
                usedChar[s[i]]=i
            
            return maxLength
    
    if __name__=="__main__":
        print(Solution().lengthOfLongestSubstring('arabcacfr'))
        print(Solution().lengthOfLongestSubstring('abcabcbb'))
        print(Solution().lengthOfLongestSubstring('bbbbb'))
        print(Solution().lengthOfLongestSubstring('pwwkew'))
  • 相关阅读:
    MySQL的双主配置
    MySQL主从复制配置部署
    Linux centOS安装MySQL
    hive搜索报错
    常用设计模式
    Cookie禁用 获取session
    排序算法
    MySQL优化
    javascript Map和Set
    ThinkPHP的基本操作
  • 原文地址:https://www.cnblogs.com/yanmk/p/9226354.html
Copyright © 2011-2022 走看看