1389. Create Target Array in the Given Order

1389. Create Target Array in the Given Order #

Problem #

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

  • Initially target array is empty.
  • From left to right read nums[i] and index[i], insert at index index[i] the value nums[i] in target array.
  • Repeat the previous step until there are no elements to read in nums and index.

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:

  • 1 <= nums.length, index.length <= 100
  • nums.length == index.length
  • 0 <= nums[i] <= 100
  • 0 <= index[i] <= i

Problem Summary #

You are given two integer arrays nums and index. You need to create the target array according to the following rules:

  • The target array target is initially empty.
  • Read nums[i] and index[i] sequentially from left to right, and insert the value nums[i] at the index index[i] in the target array.
  • Repeat the previous step until there are no elements left to read in nums and index.

Return the target array. The problem guarantees that the insertion positions are always valid.

Solution Approach #

  • Given 2 arrays, which contain the elements to be inserted and the positions to insert them at, respectively. Finally, output the array after all operations are completed.
  • Easy problem; just insert elements according to the problem statement.

Code #


package leetcode

func createTargetArray(nums []int, index []int) []int {
	result := make([]int, len(nums))
	for i, pos := range index {
		copy(result[pos+1:i+1], result[pos:i])
		result[pos] = nums[i]
	}
	return result
}


Calendar Jun 25, 2026
Edit Edit this page
Total visits:   You are visitor No.
中文