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
- 下一篇: 图像处理:Hough变换原理分析