3 need thinking more
This commit is contained in:
parent
0e82709984
commit
9ca72f3125
36
3-240603-pass/main.py
Normal file
36
3-240603-pass/main.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
class Solution:
|
||||||
|
def lengthOfLongestSubstring(self, s: str) -> int:
|
||||||
|
dic = {}
|
||||||
|
def encode(ch) -> int:
|
||||||
|
if ch not in dic:
|
||||||
|
dic[ch] = len(dic)
|
||||||
|
return dic[ch]
|
||||||
|
|
||||||
|
l = [0 for i in range(108)]
|
||||||
|
rlt = 0
|
||||||
|
start = 0
|
||||||
|
|
||||||
|
for i, ch in enumerate(s):
|
||||||
|
idx = encode(ch)
|
||||||
|
if(l[idx] >= 1):
|
||||||
|
rlt = max(rlt, i - start )
|
||||||
|
# print("now", start, rlt)
|
||||||
|
while start < i and l[idx] >= 1:
|
||||||
|
tmp = encode(s[start])
|
||||||
|
start = start + 1
|
||||||
|
l[tmp] -= 1
|
||||||
|
l[idx] += 1
|
||||||
|
# print(ch, start, l )
|
||||||
|
rlt = max(rlt, len(s) - start )
|
||||||
|
if rlt == 0: return len(s)
|
||||||
|
return rlt
|
||||||
|
|
||||||
|
sol = Solution()
|
||||||
|
print(sol.lengthOfLongestSubstring("abcabcbb"))
|
||||||
|
print(sol.lengthOfLongestSubstring("bbbbb"))
|
||||||
|
print(sol.lengthOfLongestSubstring("pwwkew"))
|
||||||
|
print(sol.lengthOfLongestSubstring("abcde"))
|
||||||
|
print(sol.lengthOfLongestSubstring("abcdbej"))
|
||||||
|
print(sol.lengthOfLongestSubstring("bbcdjeb"))
|
||||||
|
print(sol.lengthOfLongestSubstring(" "))
|
||||||
|
print(sol.lengthOfLongestSubstring("1 b 234aac 2"))
|
Loading…
Reference in New Issue
Block a user