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

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

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

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

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

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.

Article Tags :
Practice Tags :