Files
LeetCode-Go/leetcode/0003.Longest-Substring-Without-Repeating-Characters/3. Longest Substring Without Repeating Characters.go
2020-08-07 17:06:53 +08:00

30 lines
435 B
Go

package leetcode
func lengthOfLongestSubstring(s string) int {
if len(s) == 0 {
return 0
}
var freq [256]int
result := 0
left, right := 0, -1
for left < len(s) {
if right+1 < len(s) && freq[s[right+1]-'a'] == 0 {
freq[s[right+1]-'a']++
right++
} else {
freq[s[left]-'a']--
left++
}
result = max(result, right-left+1)
}
return result
}
func max(a int, b int) int {
if a > b {
return a
}
return b
}