LeetCode in Kotlin

1389. Create Target Array in the Given Order

Easy

Given two arrays of integers nums and index. Your task is to create target array under the following rules:

Return the target array.

It is guaranteed that the insertion operations will be valid.

Example 1:

Input: nums = [0,1,2,3,4], index = [0,1,2,2,1]

Output: [0,4,1,3,2]

Explanation:

nums index target
0    0     [0]
1    1     [0,1]
2    2     [0,1,2]
3    2     [0,1,3,2]
4    1     [0,4,1,3,2] 

Example 2:

Input: nums = [1,2,3,4,0], index = [0,1,2,3,0]

Output: [0,1,2,3,4]

Explanation:

nums index target
1    0     [1]
2    1     [1,2]
3    2     [1,2,3]
4    3     [1,2,3,4]
0    0     [0,1,2,3,4] 

Example 3:

Input: nums = [1], index = [0]

Output: [1]

Constraints:

Solution

class Solution {
    fun createTargetArray(nums: IntArray, index: IntArray): IntArray {
        val list: MutableList<Int> = ArrayList()
        for (i in nums.indices) {
            list.add(index[i], nums[i])
        }
        val target = IntArray(list.size)
        for (i in target.indices) {
            target[i] = list[i]
        }
        return target
    }
}