In the given question, the sample input provided is 0,2,4,1,3, and it is mentioned to invert this array. The answer should come as 3,1,4,2,0 but the sample output shown is 0,3,1,4,2
Why?
Wrong sample output
Hey, actually it’s inverse of an array not reverse. Had it been reverse then your output is correct
Inverse is Simply swapping the value of the array with the value at that index.
Algo
- Create a new Array say narr and original array is arr.
- now at the arr[i]th index of narr save the ith value.(previously i is the index and arr[i] is the value bt now arr[i] is the index and i is the value.)
- return new array.
refer this code ->
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main() {
int N;
cin>>N;
int a[N];
for(int i =0;i<N;i++)
cin>>a[i];
int b[N];
for(int j=0;j<N;j++){
b[a[j]]=j;
}
for(int i=0;i<N;i++){
cout<<b[i]<<" ";
}
return 0;
}
I hope I’ve cleared your doubt. I ask you to please rate your experience here
Your feedback is very important. It helps us improve our platform and hence provide you
the learning experience you deserve.
On the off chance, you still have some questions or not find the answers satisfactory, you may reopen
the doubt.