题解 | #最长无重复子数组#
最长无重复子数组
https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4
package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param arr int整型一维数组 the array
* @return int整型
*/
func maxLength(arr []int) int {
// 记录窗口内的元素
seen := make(map[int]bool)
// 初始化最大长度和左指针
maxLen, left := 0, 0
for right := 0; right < len(arr); right++ {
for seen[arr[right]] {
delete(seen, arr[left])
left++
}
// 将当前元素加入窗口
seen[arr[right]] = true
// 更新最大长度
if right-left+1 > maxLen {
maxLen = right - left + 1
}
}
return maxLen
}

查看18道真题和解析