码迷,mamicode.com
首页 > 其他好文 > 详细

无重复字符的最长字串

时间:2018-10-01 15:31:28      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:self   abc   必须   地方   style   bcb   str   lse   def   

题目描述:

给定一个字符串,找出不含有重复字符的最长子串的长度。
  
示例:
  
  给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。
  给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。
  给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列  而不是子串
思路:
  假设字符串为0,返回0即可
  遍历字符串,首先判断字符是否在字符串tc里,不在,添加,并记录字符串的长度
  如果在,将字符添加到字符串tc里,并从出现字符的地方到最后进行截取


class
Solution: def lengthOfLongestSubstring(self, s): m = 0 tc = str() for c in s: if c not in tc: tc+=c m=max(len(tc),m) else: tc+=c tc=tc[tc.index(c)+1:] return m

 

无重复字符的最长字串

标签:self   abc   必须   地方   style   bcb   str   lse   def   

原文地址:https://www.cnblogs.com/whu-2017/p/9734690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!