Create Target Array in the Given Order

easy array simulation

Problem

Given two arrays nums and index of length n, build target by inserting nums[i] at target[index[i]] for i = 0..n-1.

Inputnums = [0,1,2,3,4], index = [0,1,2,2,1]
Output[0,4,1,3,2]
Step-by-step insertions shift elements right.

def create_target_array(nums, index):
    target = []
    for n, i in zip(nums, index):
        target.insert(i, n)
    return target
function createTargetArray(nums, index) {
  const t = [];
  for (let i = 0; i < nums.length; i++) t.splice(index[i], 0, nums[i]);
  return t;
}
class Solution {
    public int[] createTargetArray(int[] nums, int[] index) {
        List t = new ArrayList<>();
        for (int i = 0; i < nums.length; i++) t.add(index[i], nums[i]);
        int[] r = new int[t.size()];
        for (int i = 0; i < r.length; i++) r[i] = t.get(i);
        return r;
    }
}
vector createTargetArray(vector& nums, vector& index) {
    vector t;
    for (int i = 0; i < (int)nums.size(); i++) t.insert(t.begin() + index[i], nums[i]);
    return t;
}
Time: O(n^2) Space: O(n)