This is a Java Program to find peak element of an array. A peak element of an array is that element which is not smaller than its neighbors. Consider only one neighbour for corner elements. The time complexity of the following program is O (n).
Brute Force Algorithm is as follows :
for i in range (n) : if A[i - 1] <= A[i] >= A[i + 1] : print A[i] end if end for
Here is the source code of the Java program to find peak element of an array. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
/* * Java Program to Find the peak element of an array O(n) time (Naive Method) */ import java.util.Scanner; public class PeakElement1 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Enter size of array"); int N = scan.nextInt(); int[] arr = new int[N + 2]; /* set corner values to -infinity */ arr[0] = Integer.MIN_VALUE; arr[N + 1] = Integer.MIN_VALUE; /* Accept N elements */ System.out.println("Enter "+ N +" elements"); for (int i = 1; i <= N; i++) arr[i] = scan.nextInt(); /* Find All Peak Elements */ System.out.println("\nAll Peak Elements : "); for (int i = 1; i <= N; i++) if (arr[i - 1] <= arr[i] && arr[i] >= arr[i + 1]) System.out.println(arr[i] +" at position "+ i); System.out.println(); } }
Enter size of array 6 Enter 6 elements 1 2 5 5 4 1 All Peak Elements : 5 at position 3 5 at position 4 Enter size of array 7 Enter 7 elements 6 24 15 2 23 99 67 All Peak Elements : 24 at position 2 99 at position 6 Enter size of array 10 Enter 10 elements 10 9 8 24 8 7 97 28 17 63 All Peak Elements : 10 at position 1 24 at position 4 97 at position 7 63 at position 10
Related posts:
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Java Program to Implement Quick Sort with Given Complexity Constraint
Properties with Spring and Spring Boot
Convert char to String in Java
Hướng dẫn Java Design Pattern – Template Method
Java Program to Implement Suffix Array
Guide to Character Encoding
Java Program to Implement Queue using Two Stacks
Spring Boot - Zuul Proxy Server and Routing
Different Ways to Capture Java Heap Dumps
Java Program to Implement Pollard Rho Algorithm
Implementing a Runnable vs Extending a Thread
The Registration API becomes RESTful
Java Program to Implement Counting Sort
Java Program to Find kth Largest Element in a Sequence
Object Type Casting in Java
“Stream has already been operated upon or closed” Exception in Java
Java Program to Check Cycle in a Graph using Topological Sort
Hướng dẫn Java Design Pattern – Composite
Remove the First Element from a List
Intersection of Two Lists in Java
Spring Boot - Google OAuth2 Sign-In
Java Program to Implement Double Order Traversal of a Binary Tree
Jackson – JsonMappingException (No serializer found for class)
Validations for Enum Types
Java – Convert File to InputStream
Java Program to Implement a Binary Search Tree using Linked Lists
Chuyển đổi Array sang ArrayList và ngược lại
Injecting Prototype Beans into a Singleton Instance in Spring
Java Program to Implement CopyOnWriteArrayList API
Spring Boot - Bootstrapping
Quản lý bộ nhớ trong Java với Heap Space vs Stack