Ask Question
15 September, 19:06

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).

+4
Answers (1)
  1. 15 September, 19:19
    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 the answers seem to be not correct or there’s no answer. Try a smart search to find answers to similar questions.
Search for Other Answers