Ai
1 Star 0 Fork 0

catyMap/AlgorithmNote

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
threeSum.go 711 Bytes
一键复制 编辑 原始数据 按行查看 历史
catyMap 提交于 2021-09-05 11:30 +08:00 . 更新题库
package main
import (
"fmt"
"sort"
)
func threeSum(nums []int) (res [][]int) {
sort.Ints(nums)
left, mid, right, n := 1, 0, len(nums)-1, len(nums)
for mid < n {
midValue := nums[mid]
left, right = mid+1, n-1
for left < right {
v := nums[left] + nums[mid] + nums[right]
if v == 0 {
res = append(res, []int{nums[left], nums[mid], nums[right]})
// 避免出现重复的三元组
for right > mid && nums[right-1] == nums[right] {
right--
}
}
if v < 0 {
left++
} else {
right--
}
}
// 避免出现重复的三元组
for mid < n && midValue == nums[mid] {
mid++
}
}
return res
}
func main() {
fmt.Println(threeSum([]int{0, 0, 0, 0, 0, 0}))
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/dogemap/algorithm-note.git
git@gitee.com:dogemap/algorithm-note.git
dogemap
algorithm-note
AlgorithmNote
dc486f96f6c1

搜索帮助