欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python应用:最长无重复字串提取

发布时间:2025/3/21 python 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python应用:最长无重复字串提取 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、算法说明

 如何获取一个字符串中最大的不重复子串?

假定给定字符串;算法如下:

1)取出第一个字符,放入集合,长度记为

2)取出与比较,如果不在set内,将 加入;回到1)

                                    如果在set内,记录len,将 set清空,加入;回到1)

二、程序实现

class Solution:def lengthOfLongestSubstring(self, s):""":type s: str:rtype: int"""record_place = {}max_len = 0mid_max_len = 0for (i, ch) in enumerate(s):if ch not in record_place:mid_max_len += 1if max_len < mid_max_len:max_len = mid_max_lenelse:if i - record_place[ch] > mid_max_len:mid_max_len += 1if mid_max_len > max_len:max_len = mid_max_lenelse:mid_max_len = i - record_place[ch]record_place[ch] = ireturn max_lens = Solution()print(s.lengthOfLongestSubstring("assrdklghjuoi"))

返回:11

总结

以上是生活随笔为你收集整理的python应用:最长无重复字串提取的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。