用 Golang 实现给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。
注意:答案中不可以包含重复的三元组。
给定数组 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))
}
程序运行后,控制台输出如下:
我们输入了测试用例,输出了正确结果。