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:
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).
7172 Points
4696 Points
4308 Points
4090 Points
4024 Points
3292 Points
3066 Points
3016 Points
3014 Points
2892 Points
Gatecse
^ go through