Skip to content

Latest commit

 

History

History

1470 - Shuffle the Array

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

1470. Shuffle the Array share

Problem Statement

Given the array nums consisting of 2n elements in the form [x1,x2,...,xn,y1,y2,...,yn].

Return the array in the form [x1,y1,x2,y2,...,xn,yn].

 

Example 1:


Input: nums = [2,5,1,3,4,7], n = 3
Output: [2,3,5,4,1,7]
Explanation: Since x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 then the answer is [2,3,5,4,1,7].

Example 2:


Input: nums = [1,2,3,4,4,3,2,1], n = 4
Output: [1,4,2,3,3,2,4,1]

Example 3:


Input: nums = [1,1,2,2], n = 2
Output: [1,2,1,2]

 

Constraints:

  • 1 <= n <= 500
  • nums.length == 2n
  • 1 <= nums[i] <= 10^3

Click to open Hints

  • Use two pointers to create the new array of 2n elements. The first starting at the beginning and the other starting at (n+1)th position. Alternate between them and create the new array.

Solutions

package main

func shuffle(nums []int, n int) []int {
	res := make([]int, n*2)

	for i := 0; i < n; i++ {
		// at even indices, put the slice of the array from 0 to n
		res[i*2] = nums[i]
		// at odd indices, put the slice of the array from n to the end
		res[i*2+1] = nums[n+i]
	}

	return res
}