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).
3338 Points
2108 Points
1922 Points
1682 Points
1614 Points
1272 Points
1208 Points
1056 Points
1018 Points
812 Points
1008 Points
734 Points
726 Points
342 Points
328 Points
Gatecse