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