You have given a sorted array a[ ] of distinct integers and you have to sort the array in a wave-like pattern. It will be arranged like a[0]>=a[1]<=a[2]>=a[3]<=a[4]... This question has been asked in Google, Microsoft, Adobe, Amazon, Goldman Sachs, Paytm, and FactSet.
Input:
n=5
a[ ] = {1, 2, 3, 4, 5}
Output: 2 1 4 3 5
So how can we solve this problem?
If our array is already sorted then we have to just swap the array at the alternate elements.
Like for a[ ] = {1, 2, 3, 4, 5}
Loop1: i=0, a[ ] = {2, 1, 3, 4, 5}
Loop2: i=2, a[ ] = {2, 1, 4, 3, 5}
for Loop 3: i=4 which is not less than n-1 i.e. 4.
So the loop ends here.
The array generated is forming a wave pattern: {2, 1, 4, 3, 5}.
Cpp code:
Please ask your queries in the comment section.
Comments
Post a Comment