无重复字符的最长子串

2020-05-05  本文已影响0人  7赢月

题目描述

https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/


package main

func lengthOfLongestSubstring(s string) int {
    var (
        r, c = 0, 0
        str  = []rune(s)
    )
    for k := range str {
        c = 0
        var filter = make(map[rune]struct{}, len(str))
        for j := k; j < len(str); j++ {
            // 出现重复的
            if _, ok := filter[str[j]]; ok {
                // 有重复的
                if r < j-k {
                    r = c
                }
                break
            }
            filter[str[j]] = struct{}{}
            c++
        }
        if r < c {
            r = c
        }
    }
    return r
}

思路

这是粗暴的版本!

上一篇 下一篇

猜你喜欢

热点阅读