Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Elements greater than the previous and next element in an Array

  • Difficulty Level : Easy
  • Last Updated : 07 May, 2021

Given an array of N integers. The task is to print the elements from the array which are greater than their immediate previous and next elements.
Examples
 

Input : arr[] = {2, 3, 1, 5, 4, 9, 8, 7, 5}
Output : 3, 5, 9
In above given example 3 is greater than its 
left element 2 and right element 1. 
Similar logic is applied to other elements 
hence our final output is 3, 5, 9.

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

 

Attention reader! All those who say programming isn't for kids, just haven't met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12. 

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

Approach: Since there is no element on the left of the first element(arr[0]) and there is no element to the right of last element(arr[N-1]) so these two elements will be excluded from the final answer.
Now, traverse the array starting from the index 1 to N-2 and for every element arr[i] check if arr[i] > arr[i-1] and arr[i] > arr[i+1].
Below is the implementation of the above approach: 
 

C++




// C++ program to print elements greater than
// the previous and next element in an Array
#include <bits/stdc++.h>
using namespace std;
 
// Function to print elements greater than
// the previous and next element in an Array
void printElements(int arr[], int n)
{
    // Traverse array from index 1 to n-2
    // and check for the given condition
    for (int i = 1; i < n - 1; i++) {
        if (arr[i] > arr[i - 1] and arr[i] > arr[i + 1])
            cout << arr[i] << " ";
    }
}
 
// Driver Code
int main()
{
    int arr[] = { 2, 3, 1, 5, 4, 9, 8, 7, 5 };
    int n = sizeof(arr) / sizeof(arr[0]);
 
    printElements(arr, n);
 
    return 0;
}

Java




// Java program to print elements greater than
// the previous and next element in an Array
class GfG
{
 
// Function to print elements greater than
// the previous and next element in an Array
static void printElements(int arr[], int n)
{
    // Traverse array from index 1 to n-2
    // and check for the given condition
    for (int i = 1; i < n - 1; i++)
    {
        if (arr[i] > arr[i - 1] && arr[i] > arr[i + 1])
            System.out.print(arr[i] + " ");
    }
}
 
// Driver Code
public static void main(String[] args)
{
    int arr[] = { 2, 3, 1, 5, 4, 9, 8, 7, 5 };
    int n = arr.length;
 
    printElements(arr, n);
}
}
 
// This code is contributed by Prerna Saini

Python3




# Python 3 program to print elements greater than
# the previous and next element in an Array
 
# Function to print elements greater than
# the previous and next element in an Array
def printElements(arr, n):
     
    # Traverse array from index 1 to n-2
    # and check for the given condition
    for i in range(1, n - 1, 1):
        if (arr[i] > arr[i - 1] and
            arr[i] > arr[i + 1]):
            print(arr[i], end = " ")
 
# Driver Code
if __name__ == '__main__':
    arr = [2, 3, 1, 5, 4, 9, 8, 7, 5]
    n = len(arr)
 
    printElements(arr, n)
     
# This code is contributed by
# Surendra_Gangwar

C#




using System;
 
// c# program to print elements greater than
// the previous and next element in an Array
public class GfG
{
 
// Function to print elements greater than
// the previous and next element in an Array
public static void printElements(int[] arr, int n)
{
    // Traverse array from index 1 to n-2
    // and check for the given condition
    for (int i = 1; i < n - 1; i++)
    {
        if (arr[i] > arr[i - 1] && arr[i] > arr[i + 1])
        {
            Console.Write(arr[i] + " ");
        }
    }
}
 
// Driver Code
public static void Main(string[] args)
{
    int[] arr = new int[] {2, 3, 1, 5, 4, 9, 8, 7, 5};
    int n = arr.Length;
 
    printElements(arr, n);
}
}

PHP




<?php
// PHP program to print elements greater than
// the previous and next element in an Array
 
// Function to print elements greater than
// the previous and next element in an Array
function printElements($arr, $n)
{
    // Traverse array from index 1 to n-2
    // and check for the given condition
    for ($i = 1; $i < $n - 1; $i++)
    {
        if ($arr[$i] > $arr[$i - 1] and
            $arr[$i] > $arr[$i + 1])
            echo $arr[$i] . " ";
    }
}
 
// Driver Code
$arr = array(2, 3, 1, 5, 4, 9, 8, 7, 5);
$n = sizeof($arr);
 
printElements($arr, $n);
 
// This code is contributed
// by Akanksha Rai

Javascript




<script>
 
// Javascript implementation of the approach
 
// Function to print elements greater than
// the previous and next element in an Array
function printElements(arr,  n)
{
    // Traverse array from index 1 to n-2
    // and check for the given condition
    for (var i = 1; i < n - 1; i++) {
        if (arr[i] > arr[i - 1] && arr[i] > arr[i + 1])
            document.write( arr[i] + " ");
    }
}
var arr = [ 2, 3, 1, 5, 4, 9, 8, 7, 5 ];
var n = arr.length;
 
printElements(arr, n);
 
// This code is contributed by SoumikMondal
 
</script>
Output: 
3 5 9

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :