Published in

Nerd For Tech

# 1470. Shuffle the Array

(LeetCode easy question)

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 = 3Output: [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 = 4Output: [1,4,2,3,3,2,4,1]`

Example 3:

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

Constraints:

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

Since the question holds the self-explanation of what this question means, I am sure you would have understood the question by now.

Let us talk about the approach now :

# Approach :

The first thing that strikes my mind is to let us the two-pointer approach. This is just a basic approach that uses two pointers at a time.

I will use two pointers i and j; i starts from the beginning i.e x1 value and j starts from y1 values. Just keep storing the elements which point at x1 and then y1 and so on, keep incrementing the pointers each time.

The code is as given below :

`class Solution {public:    vector<int> shuffle(vector<int>& nums, int n) {        vector<int>ans;        int i = 0, j=n;        while(i<n && j<(2*n))        {            ans.push_back(nums[i]);            ans.push_back(nums[j]);            i++;            j++;        }        return ans;     }};`

So what will be the time complexity now? Well, it is O(n) because still I am traversing the whole array. The space complexity will be O(n) as well because I am using a vector to store the array elements in the given format.

I hope this makes you clear so as how to solve this question. Try to dry run as many examples possible to understand it better.

Till then keep coding & keep learning!!🙌💻

Since you enjoyed reading my blog , why not buy me a coffee and supoort my work here!! https://www.buymeacoffee.com/sukanyabharati

--

--

## More from Nerd For Tech

NFT is an Educational Media House. Our mission is to bring the invaluable knowledge and experiences of experts from all over the world to the novice. To know more about us, visit https://www.nerdfortech.org/.

## Sukanya Bharati

152 Followers

A happy , motivated & a curious soul if you end up finding me 😎😁.