# 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) 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 ``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);` `    ``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

 ` ``\$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

 ``
Output:
`3 5 9`

My Personal Notes arrow_drop_up