Golang程序 在一个数组中找到具有给定总和的配对(O(n2))
例子
输入数组 = [4, 1, 6, 8, 7, 2, 3], sum = 11 => (4, 7) 或 (8, 3)
解决这个问题的方法
- 第1步: 定义一个接受数组和 sum 的方法 。
- 第2步: 从0到 n 迭代为 i .
- 第3步: 再次从 i+1 到 n-1 进行 for 循环迭代,作为 j。
- 第4步: 如果arr[i] + arr[j] == sum,那么返回arr[i]和arr[j]。
- 第5步: 最后,打印未找到的一对。
程序
package main
import (
"fmt"
)
func findSumPair(arr []int, sum int){
for i:=0; i<len(arr)-1; i++{
for j:=i+1; j<len(arr); j++{
if arr[i]+arr[j] == sum{
fmt.Printf("Pair for given sum is (%d, %d).\n", arr[i], arr[j])
return
}
}
}
fmt.Println("Pair not found in the given array.")
}
func main(){
findSumPair([]int{4, 3, 6, 7, 8, 1, 9}, 15)
findSumPair([]int{4, 3, 6, 7, 8, 1, 9}, 100)
}
输出
Pair for given sum is (6, 9).
Pair not found in the given array.