go + 滑动窗口
package main
/**
*
* @param s string字符串
* @return int整型
*/
func lengthOfLongestSubstring( s string ) int {
// write code here
left, right := 0, 0
window := [256]int{} // 使用数组代替map, map也可以,内存占用可能会更多
max := 0
for right < len(s) {
c := s[right] - 'a'
window[c]++
right++
for window[c] > 1 {
d := s[left] - 'a'
left++
window[d]--
}
max = maxs(max, right-left)
}
return max
}
func maxs(a, b int) int {
if a > b {return a}
return b
}
京公网安备 11010502036488号