# Elements greater than the previous and next element in an Array

• Difficulty Level : Easy
• Last Updated : 08 Mar, 2022

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

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

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

Time Complexity : O(n)
Auxiliary Space : O(1)

My Personal Notes arrow_drop_up