3.ノー繰り返し文字の最長部分文字列
トピックリンク:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
タイトル説明
文字列を考えると、あなたは繰り返された文字が含まれていないかを調べる最長のサブストリングの長さを。
例1:
入力:「abcabcbb」
出力: 3
説明:その長さは3であるので、重複のない文字の最長のサブは、「ABC」であるため。
例2:
入力:「BBBBB」
出力: 1つの
説明:最長の部分文字列は、その長さが1であるように、「B」せずに文字を繰り返しているため。
例3:
入力:「pwwkew」
出力: 3
説明:その長さが3であるので、「WKE」せずに文字を繰り返し最長のサブ文字列がされているので。
ご留意くださいあなたの答えは、長さの部分文字列でなければならない、「pwkeは」サブシーケンスではなく、部分文字列です。
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
n = len(s)
sub_str = ''
temp = []
for i in range(n):
for j in range(i,n):
char = s[j]
if char in temp:
j += 1
break
else:
temp.append(char)
if len(temp) > len(sub_str):
sub_str = ''.join(temp)
temp = []
return len(sub_str)