# Count of array elements which is smaller than both its adjacent elements

Given an array arr[] of size N, the task is to find the number of valley points in the array.

Valley Point: Any elements of the array is known as a valley point if it is smaller than both its adjacent elements, i.e. .

Examples:

Input: arr[] = {3, 2, 5}
Output: 1
Explanation:
There is only one valley point. That is arr[1].

Input: arr[] = {5, 4, 8, 3, 6}
Output: 2
Explanation:
There are two valley points. That is arr[1] and arr[3].

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: The idea is to iterate over the array from 1 to and for each element check for that element is a valley point or not if yes, then increment the count of the valley point by 1.

```if (arr[i-1] > arr[i] < arr[i])
count += 1;
```

Below is the implementation of the above approach:

## Java

 `// Java program to count the number ` `// of valley points in the array ` ` `  `import` `java.io.*; ` ` `  `class` `GFG { ` ` `  `    ``// Function to count the valley points ` `    ``// in the given character array ` `    ``static` `int` `countValleys(``int` `n, ``int` `arr[]) ` `    ``{ ` `        ``int` `count = ``0``, temp = ``0``; ` ` `  `        ``// Loop to iterate over the elements ` `        ``// of the given array ` `        ``for` `(``int` `i = ``1``; i < n - ``1``; i++) { ` ` `  `            ``// Condition to check if the given ` `            ``// element is a valley point ` `            ``if` `(arr[i - ``1``] > arr[i] ` `                ``&& arr[i] < arr[i + ``1``]) { ` `                ``count++; ` `            ``} ` `        ``} ` `        ``return` `count; ` `    ``} ` ` `  `    ``// Driver Code ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `arr[] = { ``3``, ``2``, ``5` `}; ` `        ``int` `n = arr.length; ` `        ``System.out.println( ` `            ``countValleys(n, arr)); ` `    ``} ` `} `

Output:

```1
```

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.