补充一下go语言: func totalFruit(fruits []int) int { if len(fruits)== 0 { return 0 } left:=0 right:=0 maxSize:=-1 keyMap:=make(map[int]int, 0) for right<len(fruits) { _,isOk :=keyMap[fruits[right]] if isOk { keyMap[fruits[right]] = keyMap[fruits[right]]+1 }else{ keyMap[fruits[right]] = 1 } for len(keyMap)> 2 { k,_ :=keyMap[fruits[left]] if k>1 { keyMap[fruits[left]] = keyMap[fruits[left]]- 1 }else{ // 退格 delete(keyMap, fruits[left]) } left++ } if maxSize<(right-left+1) { maxSize = right-left+ 1 } right++ } return maxSize }
点赞

相关推荐

喵_coding:项目太烂了外卖+点评啊 而且寒假实习差不多到时候了 hc没多少了 要实在想要找那只能投投大厂试试了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务