题解 | #字符串的排列#

最长不含重复字符的子字符串

http://www.nowcoder.com/practice/48d2ff79b8564c40a50fa79f9d5fa9c7

#coding:utf-8

代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

@param s string字符串

@return int整型

class Solution: def lengthOfLongestSubstring(self , s): # write code here ret = 0 curLen = 0 dist = dict()

    for idx in range(len(s)):
        lastDist = dist.get(s[idx], -1)
        dist[s[idx]] = idx
        if lastDist == -1:
            curLen += 1
        elif curLen >= (idx-lastDist):
            curLen = idx-lastDist
        elif curLen < idx-lastDist:
            curLen += 1

print(idx, curLen, lastDist)

        ret = max(ret, curLen)
    return ret
        
全部评论

相关推荐

10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务