VOOZH about

URL: https://www.geeksforgeeks.org/dsa/check-if-an-array-is-wave-array/

⇱ Check if an array is Wave Array - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Check if an array is Wave Array

Last Updated : 11 Jul, 2025

Given an array of N positive integers. The task is to check if the array is sorted in wave form.

Examples

Input: arr[] = {1, 2, 3, 4, 5}
Output: NO

Input: arr[] = {1, 5, 3, 7, 2, 8, 6}
Output: YES



Approach:

  • First check the element at index 1, i.e, arr[1] and observe the pattern.
  • If arr[1] is greater than its left and right element, then this pattern will be followed by other elements.
  • Else If arr[1] is smaller than its left and right element, then this pattern will be followed by other elements.
  • Check for the same pattern found from above steps. If at any point, this rule violates, return false, else return true.


Below is the implementation of above approach:


Output
YES

Time Complexity: O(n)

Auxiliary Space: O(1)

Approach :- 2 One approach to check if an array is a wave array is to first sort the array in ascending order. Then, we can swap adjacent elements to form a wave-like pattern. If at least one element does not satisfy the wave property, the array is not a wave array.

Here is the implementation of this approach:

    Traverse the array from the second element to the second last element.
   Check if the current element is greater than or equal to both its adjacent elements or smaller than or equal to both its adjacent elements.
   If it satisfies the above condition, move to the next element, else return false.
   If the entire array has been traversed without any element failing the condition, return true.


Output
The array is a wave array

Time Complexity:
The algorithm involves a linear scan of the entire array, which takes O(nlogn) time, where n is the size of the array.

Auxiliary Space:
The algorithm uses only constant extra space to store the indices and variables, which does not depend on the size of the array. Hence, the space complexity is O(1).

Comment
Article Tags:
Article Tags: