编辑代码

package main
import "fmt"
func main () {
    stringa := "aabccd"
    result := findSubSring(stringa)
    fmt.Println("result: ", result)
}


// findSubSring找子串
func findSubSring(s string) int {
    // index 初始化一个值
    index := -1 
    n := len(s)
    result := 0
    temp := make(map[byte]int)
    for i, _ := range s {
        for index+1 < n && temp[s[index+1]] == 0 {
            temp[s[index+1]]++
            index++
        }
        // 比较
        result = max(result, index-i+1)
        // 判断越界
        if _, ok := temp[s[index]]; ok {
            delete(temp, s[i])
        }
    }

    return result
}

// max 比较
func max(a, b int) int{
    if a > b {
        return a
    }

    return b
}