题解 | #最长无重复子数组#
最长无重复子数组
https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4
package main import ( "fmt" "math" ) func maxLength( arr []int ) int { if len(arr) == 0 { return 0 } var max int var b,e int //双指针 var tarr []int for i:=0; i<len(arr); i++ { find := exists(tarr, arr[i]) if find == -1 { tarr = append(tarr, arr[i]) e = i+1 max = int(math.Max(float64(max), float64(e-b))) }else { back := len(tarr)-(find +1) i = i - back tarr = []int{} tarr = append(tarr, arr[i]) b = i; e = i; } } return max } func exists(arr []int, target int) int { for i, a := range arr { if a == target { return i } } return -1 }