Ask Question
6 June, 10:12

Array processing (elimination of three largest values) (one of many array reduction problems) 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 the time complexity O (n).

+1
Answers (1)
  1. 6 June, 13:35
    0
    Step-by-step explanation:

    # include

    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
    {

    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;

    }
Know the Answer?
Not Sure About the Answer?
Find an answer to your question ✅ “Array processing (elimination of three largest values) (one of many array reduction problems) The array a (1 ... n) contains arbitrary ...” in 📘 Mathematics if you're in doubt about the correctness of the answers or there's no answer, then try to use the smart search and find answers to the similar questions.
Search for Other Answers