题解 | #三数之和#

三数之和

https://www.nowcoder.com/practice/345e2ed5f81d4017bbb8cc6055b0b711

go golang 三个for嵌套,每个for都要去重(考虑-1 -1 -1 1 1 1的情况)。

先确定a,再确定b,则确定target=0-a-b,那么只要找到c == target,便找到一组答案a,b,c。

package main

import "sort"

/**
 *
 * @param num int整型一维数组
 * @return int整型二维数组
 */
// 2023-03-14
func threeSum(num []int) [][]int {
	// write code here
	if len(num) < 3 {
		return [][]int{}
	}
	sort.Ints(num)
	res := [][]int{}
	for a := 0; a < len(num)-2; a++ {
        if a > 0 && num[a] == num[a-1] {
            continue
        }
        for b := a+1; b < len(num)-1; b++ {
            if b > a+1 && num[b] == num[b-1] {
                continue
            }
            target := -num[a]-num[b]
            for c := b+1; c < len(num); c++ {
                if c > b+1 && num[c] == num[c-1] {
                continue
                }
                if num[c] == target {
                    res = append(res, []int{num[a],num[b],num[c]})
                }
            }
        }
	}
	return res
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
13554次浏览 131人参与
# AI面会问哪些问题? #
797次浏览 19人参与
# MiniMax求职进展汇总 #
24582次浏览 313人参与
# 你的实习产出是真实的还是包装的? #
2408次浏览 47人参与
# AI时代,哪个岗位还有“活路” #
2457次浏览 48人参与
# 长得好看会提高面试通过率吗? #
2297次浏览 39人参与
# 米连集团26产品管培生项目 #
6846次浏览 223人参与
# 你做过最难的笔试是哪家公司 #
987次浏览 18人参与
# HR最不可信的一句话是__ #
896次浏览 31人参与
# 沪漂/北漂你觉得哪个更苦? #
882次浏览 29人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7887次浏览 43人参与
# XX请雇我工作 #
51097次浏览 171人参与
# 简历中的项目经历要怎么写? #
310744次浏览 4246人参与
# 简历第一个项目做什么 #
31952次浏览 354人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152720次浏览 888人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187478次浏览 1123人参与
# AI时代,哪些岗位最容易被淘汰 #
64371次浏览 856人参与
# 如果重来一次你还会读研吗 #
229936次浏览 2011人参与
# 正在春招的你,也参与了去年秋招吗? #
364020次浏览 2640人参与
# 腾讯音乐求职进展汇总 #
160792次浏览 1114人参与
# 你怎么看待AI面试 #
180514次浏览 1286人参与
# 投格力的你,拿到offer了吗? #
178023次浏览 889人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务