栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

最长无重复子串 和 公共子串长度

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

最长无重复子串 和 公共子串长度

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
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/293770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号