Golang三数之和

题目

Golang 实现给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。

注意:答案中不可以包含重复的三元组。

示例1

给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]

代码具体实现

package main import ( "fmt" ) func longestCommonPrefix(strs []string) string { switch len(strs) { case 0: return "" case 1: return strs[0] } isFinish := true i := 0 for ; isFinish; i++ { for j := 1; j < len(strs); j++ { if i > len(strs[j])-1 || i > len(strs[j-1])-1 || strs[j-1][i] != strs[j][i] { isFinish = false } } } return strs[0][:i-1] } func main() { fmt.Println("嗨客网(www.haicoder.net)") strArr1 := []string{"flower", "flow", "flight"} strArr2 := []string{"dog","racecar","car"} fmt.Println("strArr1 =", longestCommonPrefix(strArr1)) fmt.Println("strArr2 =", longestCommonPrefix(strArr2)) }

程序运行后,控制台输出如下:

16_golang三数之和.png

我们输入了测试用例,输出了正确结果。