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:
Dynamic Proxies in Java
New Features in Java 14
Kết hợp Java Reflection và Java Annotations
Java Program to Implement Binary Tree
Immutable Objects in Java
Static Content in Spring WebFlux
Spring Boot - Tomcat Deployment
Spring Boot - Quick Start
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
An Example of Load Balancing with Zuul and Eureka
Converting Java Date to OffsetDateTime
Spring Boot - Rest Template
Java Program to Implement CopyOnWriteArrayList API
Converting String to Stream of chars
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Extract links from an HTML page
Java Program to Perform Deletion in a BST
Java Program to Implement ArrayDeque API
Connect through a Proxy
Registration – Password Strength and Rules
Java Program to implement Sparse Vector
Most commonly used String methods in Java
Interface trong Java 8 – Default method và Static method
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Introduction to Spring Cloud Netflix – Eureka
Spring’s RequestBody and ResponseBody Annotations
Java Program to Implement Heap Sort Using Library Functions
Spring Boot - Tracing Micro Service Logs
ArrayList trong java
Java Program to Implement Johnson’s Algorithm
Mix plain text and HTML content in a mail
Java – Write a Reader to File