python应用:最长无重复字串提取
生活随笔
收集整理的这篇文章主要介绍了
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应用:最长无重复字串提取的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: matplotlib错误:from ma
- 下一篇: 时间序列:五种编辑距离和Python实现