Wave Array

Tue Feb 08 2022 05:46:24 GMT+0000 (Coordinated Universal Time)

```class Solution{

//Function to swap two elements in the array.
public static void swap(int arr[], int x, int y){
//Use of a temporary variable to swap the elements.
int tmp = arr[x];
arr[x] = arr[y];
arr[y] = tmp;
}
//Function to sort the array into a wave-like array.
public static void convertToWave(int arr[], int n){

//Iterating over the array.
for(int i=0;i<n-1;i=i+2){
//Swapping two neighbouring elements at a time.
swap(arr, i, i+1);
}
return;
}

}```
content_copyCOPY

Wave Array Given a sorted array arr[] of distinct integers. Sort the array into a wave-like array and return it In other words, arrange the elements into a sequence such that arr[1] >= arr[2] <= arr[3] >= arr[4] <= arr[5]..... If there are multiple solutions, find the lexicographically smallest one. Example 1: Input: n = 5 arr[] = {1,2,3,4,5} Output: 2 1 4 3 5 Explanation: Array elements after sorting it in wave form are 2 1 4 3 5. Example 2: Input: n = 6 arr[] = {2,4,7,8,9,10} Output: 4 2 8 7 10 9 Explanation: Array elements after sorting it in wave form are 4 2 8 7 10 9. Your Task: The task is to complete the function convertToWave(), which converts the given array to a wave array. Expected Time Complexity: O(n). Expected Auxiliary Space: O(1). Constraints: 1 ≤ n ≤ 10^6 0 ≤ arr[i] ≤10^7

https://practice.geeksforgeeks.org/problems/wave-array-1587115621/1/?track=DSASP-Arrays&batchId=190