leetcode 3 無重複字元的最長子串

2022-06-22 11:09:15 字數 961 閱讀 7517

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。

示例 1:

輸入: s = "abcabcbb"

輸出: 3

解釋: 因為無重複字元的最長子串是 "abc",所以其長度為 3。

示例 2:

輸入: s = "bbbbb"

輸出: 1

解釋: 因為無重複字元的最長子串是 "b",所以其長度為 1。

示例 3:

輸入: s = "pwwkew"

輸出: 3

解釋: 因為無重複字元的最長子串是 "wke",所以其長度為 3。

請注意,你的答案必須是 子串 的長度,"pwke" 是乙個子串行,不是子串。

示例 4:

輸入: s = ""

輸出: 0

思路:以abcabcbb為例

從第乙個字元開始,當沒有遇到重複的字元時,一直向後面延展,一直到abc

當遇到第二個a字元時,從前乙個a的位置截斷,就成了bca

取計算過程中最大的長度即可

題解:

class

solution(object):

deflengthoflongestsubstring(self, s):

""":type s: str

:rtype: int

"""d ={}

i =0

l =0

for j in

range(len(s)):

if (s[j] in d) and (d[s[j]] >=i):

i = d[s[j]] + 1d[s[j]] =j

l = max(l, j-i+1)

#print(i,j,l)

#print(j,d)

returnl#

print(solution.lengthoflongestsubstring(solution,'abba'))

leetcode 3 無重複的字串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...

leetcode 3 無重複字元的最長字元子串

堅持打卡!題目 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwk...

leetcode 3 最長無重複字串

3.longest substring without repeating characters 題面 given a string,find the length of the longest substring without repeating characters.給定字串,找到最長無重複字...