题解 1:
维持一个滑动窗口来做比较,初始时使左右边界指针从 0 出发,并维护一个 【字符】 => 【位置】 的 map。
首先右指针向前走,判断当前字符是否在 map 中,存在则判断 map 值是否在窗口内,存在左指针前移,否则右指针前移并更新 map 中的值。字符不存在则存在 map 中。 耗时 0 ms
package main
import (
fmt
strings
)
func main() {
s := abcabcbb
fmt.Println(getLongStr(s))
}
func getLongStr(s stri