Menu Close

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

Leave a Reply

Your email address will not be published. Required fields are marked *