This is a Java Program to find peak element of an array. A peak element of an array is that element which is greater than its neighbors. The following program uses binary search approach to find a peak element. The time complexity of the following program is O (log n).
Here is the source code of the Java program to find peak element of an array using binary search. 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 using
* Binary Search approach
*/
import java.util.Scanner;
public class PeakElement2
{
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 ];
/* Accept N elements */
System.out.println("Enter "+ N +" elements");
for (int i = 0; i < N; i++)
arr[i] = scan.nextInt();
/* Find Peak Elements */
System.out.print("\nPeak Elements : ");
peak(arr);
System.out.println();
}
public static void peak(int[] arr)
{
peak(arr, 0, arr.length - 1);
}
public static void peak (int arr[], int low, int high)
{
int N = arr.length;
if (high - low < 2)
return;
int mid = (low + high) / 2;
if (arr[mid] > arr[mid - 1] && arr[mid] > arr[mid + 1])
System.out.print(arr[mid] +" ");
/* Recursively find other peak elements */
peak (arr, low, mid);
peak (arr, mid, high);
}
}
Enter size of array 8 Enter 8 elements 87 63 51 25 40 24 6 1 Peak Elements : 40
Related posts:
Java Program to Implement an Algorithm to Find the Global min Cut in a Graph
Hướng dẫn Java Design Pattern – Object Pool
Java Program to Implement D-ary-Heap
Vector trong Java
Hashing a Password in Java
Java Program to Check if a Given Set of Three Points Lie on a Single Line or Not
An Example of Load Balancing with Zuul and Eureka
Tìm hiểu cơ chế Lazy Evaluation của Stream trong Java 8
Hướng dẫn Java Design Pattern – Visitor
Guide to Java 8’s Collectors
Getting Started with Custom Deserialization in Jackson
Java Program to Implement ScapeGoat Tree
Java Program to Implement Double Ended Queue
Jackson – Change Name of Field
Java Program to Generate Random Numbers Using Probability Distribution Function
Service Registration with Eureka
Java Program to Implement Gauss Jordan Elimination
Java Program to Implement Hash Tables
Basic Authentication with the RestTemplate
Using Java Assertions
Converting a Stack Trace to a String in Java
Spring Boot - Cloud Configuration Client
Allow user:password in URL
Java Program to Implement Min Heap
Luồng Daemon (Daemon Thread) trong Java
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Guide to Java Instrumentation
Spring 5 Functional Bean Registration
Java Program to Implement Max-Flow Min-Cut Theorem
Java Program to Implement Kosaraju Algorithm
Java Program to Implement RoleList API
How to Read a File in Java