当前位置 博文首页 > 无限迭代中......:LeetCode 3 无重复字符的最长子串

    无限迭代中......:LeetCode 3 无重复字符的最长子串

    作者:[db:作者] 时间:2021-07-06 09:39

    https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
    在这里插入图片描述

    解决方案

    Go 版本

    func lengthOfLongestSubstring(s string) int {
        // 哈希集合,记录每个字符是否出现过
        var m [128]int
        n := len(s)
        rk, ans := 0, 0
        for i := 0; i < n; i++ {
            if m[s[i]] > rk {
                if ans < i - rk {
                    ans = i - rk
                }
                rk = m[s[i]] 
            }
            m[s[i]] = i + 1
        }
        if ans < n  - rk {
            return n - rk
        }
        return ans
    }
    

    参考文章

    无重复字符的最长子串-官方题解

    cs