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 IO vs NIO
Hướng dẫn sử dụng Printing Service trong Java
How to Delay Code Execution in Java
Java Program to Perform Addition Operation Using Bitwise Operators
HttpClient 4 – Send Custom Cookie
Spring WebClient Filters
Hướng dẫn Java Design Pattern – Abstract Factory
Map Interface trong java
An Example of Load Balancing with Zuul and Eureka
Java Program to Sort an Array of 10 Elements Using Heap Sort Algorithm
Guide to Character Encoding
Guide to PriorityBlockingQueue in Java
HTTP Authentification and CGI/Servlet
Spring Boot - OAuth2 with JWT
Java Program to Perform Encoding of a Message Using Matrix Multiplication
New Features in Java 11
Java Program to Find a Good Feedback Edge Set in a Graph
How to Add a Single Element to a Stream
Java Program for Douglas-Peucker Algorithm Implementation
Spring REST API + OAuth2 + Angular
Spring Boot Tutorial – Bootstrap a Simple Application
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Một số ký tự đặc biệt trong Java
Java Program to Perform Polygon Containment Test
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
String Joiner trong Java 8
Class Loaders in Java
Exploring the New Spring Cloud Gateway
Sắp xếp trong Java 8
Add Multiple Items to an Java ArrayList
How to Convert List to Map in Java
Java Program to Implement Bucket Sort