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].
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:
C++
// C++ program to count the number// of valley points in the array#include<bits/stdc++.h>using namespace std;// Function to count the valley points// in the given character arrayint 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 Codeint main(){ int arr[] = { 3, 2, 5 }; int n = sizeof(arr) / sizeof(arr[0]); cout << countValleys(n, arr);}// This code is contributed by Surendra_Gangwar |
Java
// Java program to count the number// of valley points in the arrayimport 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)); }} |
Python3
# Python3 program to count the number# of valley points in the array# Function to count the valley points# in the given character arraydef countValleys(n, arr): count = 0; temp = 0; # Loop to iterate over the # elements of the given array for i in range(1, n): # Condition to check if the given # element is a valley point if (arr[i - 1] > arr[i] and arr[i] < arr[i + 1]): count += 1; return count;# Driver Codearr = [ 3, 2, 5 ];n = len(arr); print(countValleys(n, arr));# This code is contributed by Code_Mech |
C#
// C# program to count the number// of valley points in the arrayusing System;class GFG{// Function to count the valley points// in the given character arraystatic int countValleys(int n, int []arr){ int count = 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 Codepublic static void Main(){ int []arr = { 3, 2, 5 }; int n = arr.Length; Console.Write(countValleys(n, arr));}}// This code is contributed by Code_Mech |
Javascript
<script>// Javascript program to count the number// of valley points in the array// Function to count the valley points// in the given character arrayfunction countValleys(n, arr){ let count = 0, temp = 0; // Loop to iterate over the // elements of the given array for(let 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 Codelet arr = [ 3, 2, 5 ];let n = arr.length;document.write(countValleys(n, arr));// This code is contributed by rishavmahato348</script> |
1
Time Complexity: O(n)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Find More on to that Topic: geeksforgeeks.org/count-of-array-elements-which-is-smaller-than-both-its-adjacent-elements/ […]
… [Trackback]
[…] Find More Info here to that Topic: geeksforgeeks.org/count-of-array-elements-which-is-smaller-than-both-its-adjacent-elements/ […]