1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// @Title: 最长不含重复字符的子字符串 (最长不含重复字符的子字符串 LCOF)
// @Author: 15816537946@163.com
// @Date: 2022-02-13 15:07:11
// @Runtime: 8 ms
// @Memory: 2.3 MB
func lengthOfLongestSubstring(s string) int {
    location := [255]int{}
    for i := range location {
        location[i] = -1
    }
    maxLen,left := 0,0

    for i, v := range s {
        if location[v]>= left {
            left = location[v]+1
        } else if i-left+1 >maxLen {
            maxLen = i-left+1
        }
        location[v] = i
    }

    return maxLen
}