输入数组= [1、3、5、7、8、9],总和= 11 =>(3,8)
步骤1: 定义一个接受数组和sum的方法。
步骤2: 对给定的数组进行排序,声明low:= 0和high:= size-1变量。
步骤3:迭代for循环,直到low <= high。
步骤4:如果arr [low] + arr [high] == sum,则打印元素。
步骤5:如果arr [low] + arr [high] <sum,则为low ++。如果arr [low] + arr [high]>和,则为high--。
步骤5:最后,打印“ pair not found”。
package main import ( "fmt" "sort" ) func findSumPair(arr []int, sum int){ sort.Ints(arr) low := 0 high := len(arr) - 1 for low <= high{ if arr[low] + arr[high] == sum{ fmt.Printf("Pair for given sum is (%d, %d).\n", arr[low], arr[high]) return } else if arr[low] + arr[high] < sum { low++ } else { high-- } } fmt.Println("在给定数组中找不到配对。") } 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). 在给定数组中找不到配对。