GATE CSE
First time here? Checkout the FAQ!
x
0 votes
74 views

Given an array of integers, update the index with multiplication of previous and next integers,

   e.g.

Input: 2 , 3, 4, 5, 6

Output: 2*3, 2*4, 3*5, 4*6, 5*6 

Please suggest an approach that gives output with maximum performance:

asked in Programming by Veteran (24.2k points)   | 74 views

1 Answer

+3 votes
void array (int A[],int Aux[], int n)
{
    Aux[0]=A[0]*A[1];        /* First and last index calculation are exception
                                    so, it can be manually done.*/
    Aux[n-1]=A[n-1]*A[n-2];
    
    for(int i=1;i<n-1;i++)
    Aux[i]=A[i-1]*A[i+1];
}

A is given array of integers and Aux is auxiliary array for storing final result and n is the length of array . And complexity of this solution is O(N).

answered by Active (2.1k points)  
edited by

Related questions

0 votes
1 answer
1
0 votes
0 answers
2
0 votes
2 answers
3
asked in Programming by Desert_Warrior Boss (8.7k points)   | 115 views


Top Users Mar 2017
  1. rude

    5236 Points

  2. sh!va

    3054 Points

  3. Rahul Jain25

    2920 Points

  4. Kapil

    2732 Points

  5. Debashish Deka

    2602 Points

  6. 2018

    1574 Points

  7. Vignesh Sekar

    1430 Points

  8. Bikram

    1424 Points

  9. Akriti sood

    1416 Points

  10. Sanjay Sharma

    1128 Points

Monthly Topper: Rs. 500 gift card

21,549 questions
26,889 answers
61,246 comments
23,251 users