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://techieindoor.com/category/leetcode/