Solve in C The array a1n contains arbitrary integers Write a

Solve in C++

The array a(1..n) contains arbitrary integers. Write a function reduce (a, n) that reduces the array a(1..n) by eliminating from it all values that are equal to three largest different integers. For example, if a = (9, 1, 1, 6, 7, 1, 2, 3, 3, 5, 6, 6, 6, 6, 7, 9) then three largest different integers are 6, 7, 9 and after reduction the reduced array will be a=(1, 1, 1, 2, 3, 3, 5), n=7. The solution should have time complexity O(n).

Solution

# include <bits/stdc++.h>

using namespace std;

bool find3Numbers(int A[], int arr_size, int sum)

{

    int l, r;

    sort(A, A+arr_size);

    for (int i=0; i<arr_size-2; i++)

    {

        l = i + 1;

        r = arr_size-1;

        while (l < r)

        {

            if( A[i] + A[l] + A[r] == sum)

            {

                printf(\"Triplet is %d, %d, %d\", A[i],

                                         A[l], A[r]);

                return true;

            }

            else if (A[i] + A[l] + A[r] < sum)

                l++;

            else // A[i] + A[l] + A[r] > sum

                r--;

        }

    }

    return false;

}

int main()

{

    int A[] = {1, 4, 3, 2, 10, 8};

    int sum = 22;

    int arr_size = sizeof(A)/sizeof(A[0]);

    find3Numbers(A, arr_size, sum);

    return 0;

}

Solve in C++ The array a(1..n) contains arbitrary integers. Write a function reduce (a, n) that reduces the array a(1..n) by eliminating from it all values that
Solve in C++ The array a(1..n) contains arbitrary integers. Write a function reduce (a, n) that reduces the array a(1..n) by eliminating from it all values that

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site