# 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.

AÂ 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