1、最长无重复子串
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
if not s:
return 0
queue = [s[0]]
dic = {s[0]:0}
max_len = 1
tmp = 1
for i in range(1,len(s)):
if s[i] not in dic:
dic[s[i]] = 0
queue.append(s[i])
tmp = len(queue)
max_len = max(tmp,max_len)
else:
while queue[0] != s[i]:
dic.pop(queue.pop(0))
queue.pop(0)
queue.append(s[i])
dic[s[i]] = 0
return max_len
2、给定两个值包含小写字母的字符串,计算两个字符串的最大公共子串的长度
while True:
try:
s1 = str(input())
s2 = str(input())
#这里用到滑动窗口
c = 0
for i in range(len(s1)):
if s1[i-c:i+1] in s2:
c+=1
print(c)
except:
break