1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
package main
import ( "fmt " )
func (str string) int { start := 0 maxlen := 0 lastO := make(map[rune]int) for i, v := range []rune(str) { if lastI, ok := lastO[v]; ok { start = lastI + 1 } if (i-start+1 > maxlen) { maxlen = i - start + 1 } lastO[v] = i } return maxlen }
func main() { fmt.Println(maxLen( "abcbcdef ")) fmt.Println(maxLen( "abcdef ")) fmt.Println(maxLen( "aaaaaaa ")) fmt.Println(maxLen( "你说什么 ")) }
|
近期评论