# Leetcode 1920: Build Array from Permutation Solution

Here, we will see how to solve Build Array from Permutation Solution of leet code 1920 problem with code and algorithm.

You are given a zero-based permutation `nums` (0-indexed) array. You have to build an array `ans` of the same length where `ans[i] = nums[nums[i]]` for each `0 <= i < nums.length` and return it.

zero-based permutation `nums` is an array of distinct integers from `0` to `nums.length - 1` (inclusive).

Example:

```1)
Input: nums = [0,2,1,5,3,4]
Output: [0,1,2,4,5,3]
Explanation: The array ans is built as follows:
ans = [nums[nums[0]], nums[nums[1]], nums[nums[2]], nums[nums[3]], nums[nums[4]], nums[nums[5]]]
= [nums[0], nums[2], nums[1], nums[5], nums[3], nums[4]]
= [0,1,2,4,5,3]

2)
Input: nums = [5,0,1,2,3,4]
Output: [4,5,0,1,2,3]
Explanation: The array ans is built as follows:
ans = [nums[nums[0]], nums[nums[1]], nums[nums[2]], nums[nums[3]], nums[nums[4]], nums[nums[5]]]
= [nums[5], nums[0], nums[1], nums[2], nums[3], nums[4]]
= [4,5,0,1,2,3]```

## Build Array from Permutation Solution code in C++

Code 1:

```#include <iostream>
#include <vector>

using namespace std;

vector<int> buildArray(vector<int>& nums) {
vector<int> v(nums.size());

for(int i = 0; i < nums.size(); i++) {
v[i] = nums[nums[i]];
}
return v;
}

int main()
{
vector<int> nums = {0,2,1,5,3,4};

vector<int> ans = buildArray(nums);

for(auto it : ans) {
cout<<it<<" ";
}

return 0;
}```

Code 2:

```#include <iostream>
#include <vector>

using namespace std;

vector<int> buildArray(vector<int>& nums) {
int i;
vector<int>ans;

for (i=0;i<nums.size();i++)
{
ans.push_back(nums[nums[i]]);
}
return ans;
}

int main()
{
vector<int> nums = {0,2,1,5,3,4};

vector<int> ans = buildArray(nums);

for(auto it : ans) {
cout<<it<<" ";
}

return 0;
}```

Output:

`0 1 2 4 5 3`

To check more leetcode problem’s solution. Pls click given below link:

https://www.techieindoor.com/category/leetcode/

Posted in C++, Easy, Leetcode