题解 | #字符串的排列#

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

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
        
全部评论

相关推荐

07-02 13:52
门头沟学院 Java
点赞 评论 收藏
分享
炫哥_:哥们项目描述里面vector和mysql之类的都要写吗,直接开头技术栈巴拉巴拉就行了,完全不是技术点啊
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务