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:
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Hướng dẫn Java Design Pattern – Memento
Java Program to Implement Aho-Corasick Algorithm for String Matching
Hướng dẫn sử dụng biểu thức chính quy (Regular Expression) trong Java
Java Program to Implement String Matching Using Vectors
Java – File to Reader
So sánh HashMap và HashSet trong Java
Jackson – Unmarshall to Collection/Array
Spring @Primary Annotation
Java Optional as Return Type
Java Program to Implement CountMinSketch
Java Program to Perform Partial Key Search in a K-D Tree
Mapping a Dynamic JSON Object with Jackson
Java Program to Find the GCD and LCM of two Numbers
Introduction to Spring Method Security
Guide to Guava Multimap
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Spring Boot - Scheduling
Converting Iterator to List
Java Program to Implement Suffix Tree
Java Program to Implement Red Black Tree
Remove All Occurrences of a Specific Value from a List
How to Read a File in Java
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
Overflow and Underflow in Java
Java CyclicBarrier vs CountDownLatch
Guide to the Fork/Join Framework in Java
Java InputStream to String
Spring Security Registration – Resend Verification Email
Java Program to Perform Left Rotation on a Binary Search Tree
How to Return 404 with Spring WebFlux