题解 | #最长无重复子数组#

最长无重复子数组

http://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4

package main

/**
 * 
 * @param arr int整型一维数组 the array
 * @return int整型
*/
func maxLength( arr []int ) int {
    // write code here
    left ,right := 0,0
    windows := make(map[int]int)
    max := 0
    for right < len(arr) {
        if _,ok := windows[arr[right]];ok{
            for {
                if arr[left] == arr[right] {
                    delete(windows,arr[left])
                    left++
                    break
                }else{
                    delete(windows,arr[left])
                    left++
                }
            }
        }
        windows[arr[right]]++
        right++
        
        length := right - left
        if length > max {
            max = length
        }
    }
  
    return max
    
}
全部评论

相关推荐

02-23 00:10
湖南大学 C++
点赞 评论 收藏
分享
点赞 评论 收藏
分享
03-23 13:53
郑州大学 Java
讲文明的秋招侠拥抱太阳:自我评价和一些没用的奖删了,项目经历写详细点,如果没啥写的就看看网上优秀简历,把他的项目学会写上去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务