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

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

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

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 `

Output:

```3 5 9
```

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.