diff --git a/data_structures/arrays/Wave_Array_Transformation.py b/data_structures/arrays/Wave_Array_Transformation.py new file mode 100644 index 000000000000..e13c7f1a50c4 --- /dev/null +++ b/data_structures/arrays/Wave_Array_Transformation.py @@ -0,0 +1,11 @@ +#Description: Sort an array in a wave-like form. In this form, arr[0] >= arr[1] <= arr[2] >= arr[3]... + +#Input: [10, 5, 6, 3, 2, 20, 100, 80] +#Output: [20, 10, 6, 3, 5, 2, 80, 100] +#Key Idea: Sort the array and swap every adjacent pair of elements. + +def wave_array(arr): + arr.sort() + for i in range(0, len(arr)-1, 2): + arr[i], arr[i+1] = arr[i+1], arr[i] + return arr