Nerd For Tech
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 = 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

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

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sukanya Bharati

Sukanya Bharati

152 Followers

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