给定一个字符串,请找出其中无重复字符的最长子字符串。
样例 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