题解 | #最长不含重复字符的子字符串#

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

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

package main


/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return int整型
*/
func lengthOfLongestSubstring( s string ) int {
    // write code here
    // 用数组来存放每一个字符出现的次数
    // 字符的 ASCII 代表该字符在数组中的位置
    m := make([]int, 256)  
    left , right, res := 0, 0 ,1
    for right < len(s) {
        m[s[right]]++
        // 当字符出现的次数不等与 1 ,左边界向右移,直至移到重复字符后面一位
        for m[s[right]] != 1 {
            m[s[left]]--
            left++
        }
        if right - left + 1 > res {
            res = right - left + 1
        }
        right++
    }
    return res
}







全部评论

相关推荐

牛客21331815...:像我一投就pass,根本不用焦虑泡池子
点赞 评论 收藏
分享
天降大厂offer:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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