首页 > 其他 > 详细

384. 最长无重复字符的子串

时间:2020-06-25 21:40:31      阅读:70      评论:0      收藏:0      [点我收藏+]

384. 最长无重复字符的子串

中文English

给定一个字符串,请找出其中无重复字符的最长子字符串。

样例

样例 1:

输入: "abcabcbb"
输出: 3
解释: 最长子串是 "abc".

样例 2:

输入: "bbbbb"
输出: 1
解释: 最长子串是 "b".

挑战

O(n) 时间复杂度 

输入测试数据 (每行一个参数)如何理解测试数据?

 

class Solution:
    """
    @param s: a string
    @return: an integer
    """
    """
    大致思路:
    1.循环,如果符合条件,则j += 1,增大区间,否则i += 1,缩小区间
    """
    def lengthOfLongestSubstring(self, s):
        # write your code here
        #同向型双指针
        l = len(s)
        array = []
        min_value = 0
        j = 0

        for i in range(l):
            while j < l and s[j] not in array:
                array.append(s[j])
                j += 1
            
            min_value = max(min_value, j - i)
            #缩小区间
            array = array[1: ]
        
        return min_value 

 

384. 最长无重复字符的子串

原文:https://www.cnblogs.com/yunxintryyoubest/p/13192939.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!