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:
A Quick JUnit vs TestNG Comparison
Java Program to Implement Adjacency List
Java Perform to a 2D FFT Inplace Given a Complex 2D Array
Encode/Decode to/from Base64
OAuth 2.0 Resource Server With Spring Security 5
Spring Boot - Enabling HTTPS
Java 8 StringJoiner
Java Program to Check if it is a Sparse Matrix
Java Program to Implement Aho-Corasick Algorithm for String Matching
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Automatic Property Expansion with Spring Boot
A Custom Data Binder in Spring MVC
Comparing Arrays in Java
Java Program to Implement Disjoint Sets
Java Program to Implement Sorted Circularly Singly Linked List
Introduction to Spring Boot CLI
Java Program to Find the Mode in a Data Set
Spring Boot - Introduction
Hướng dẫn Java Design Pattern – Null Object
StringBuilder vs StringBuffer in Java
Java Program to Construct K-D Tree for 2 Dimensional Data
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Java Program to Represent Graph Using Adjacency Matrix
Java Program to Describe the Representation of Graph using Incidence List
Guide to Apache Commons CircularFifoQueue
Logout in an OAuth Secured Application
Hướng dẫn Java Design Pattern – Factory Method
Converting a List to String in Java
Mảng (Array) trong Java
Java Program to Implement Best-First Search
Exploring the New Spring Cloud Gateway
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS