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

**Output:**

3 5 9

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.