GATE CSE
First time here? Checkout the FAQ!
x
0 votes
72 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 (18.2k points)   | 72 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.6k points)   | 108 views
Top Users Jan 2017
  1. Debashish Deka

    7172 Points

  2. Habibkhan

    4696 Points

  3. Vijay Thakur

    4308 Points

  4. sudsho

    4090 Points

  5. saurabh rai

    4024 Points

  6. Arjun

    3292 Points

  7. santhoshdevulapally

    3066 Points

  8. GateSet

    3016 Points

  9. Bikram

    3014 Points

  10. Sushant Gokhale

    2892 Points

Monthly Topper: Rs. 500 gift card

18,838 questions
23,808 answers
51,589 comments
20,148 users