c_cpp 找到数组,其总和最接近x

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 找到数组,其总和最接近x相关的知识,希望对你有一定的参考价值。

// https://www.geeksforgeeks.org/given-sorted-array-number-x-find-pair-array-whose-sum-closest-x/
#include <iostream>
using namespace std;

int main(){
    int n,x;
    cin>>n;
    int a[n];
    for (int i=0;i<n;i++)
        cin>>a[i];
    cout << "Enter the search element:";
    cin>>x;
    int i=0,j=n-1;
    int sum = INT_MAX, l ,r;
    while(i <= j){
        int k = abs (x - a[i] - a[j]);
        if (k < sum) {
            sum = k;
            l=i;
            r=j;
        }
        if (a[i]+a[j] < x)
            i++;
        else
            j--;
    }
    cout << a[l] << " and " << a[r];
}

以上是关于c_cpp 找到数组,其总和最接近x的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 从两个排序的数组中找到最接近的一对

c_cpp 在排序数组中,找到最接近给定数字的数字

c_cpp 总和最接近零的两个数字

如何在 O(nlogn) 中找到总和最接近零或某个值 t 的子数组

c_cpp 检查数组中是否存在两个元素,其总和等于数组其余部分的总和

c_cpp 找到未排序数组中最大的对总和