go + 滑动窗口
package main /** * * @param arr int整型一维数组 the array * @return int整型 */ func maxLength( arr []int ) int { // write code here if len(arr) == 0 { return 0 } m := make(map[int]int) max := 0 // 最大值 start := 0 // 窗口左侧位置 // 滑动窗口 for right := 0;right < len(arr);right++ { num := arr[right] m[num]++ for m[num] > 1 { // 注意此处很重要,窗口缩小时,start处对应的字符数-1 d := arr[start] start++ ***x = maxs(max, right-start+1) } return max } func maxs(a,b int) int { if a > b {return a} return b }