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:
Spring’s RequestBody and ResponseBody Annotations
REST Web service: Basic Authentication trong Jersey 2.x
So sánh HashMap và HashSet trong Java
Finding the Differences Between Two Lists in Java
Java Program to Implement Bloom Filter
Java Program to Implement Variable length array
Multipart Upload with HttpClient 4
Java Program to Convert a Decimal Number to Binary Number using Stacks
Convert XML to JSON Using Jackson
Spring Boot Configuration with Jasypt
Spring Boot - Sending Email
Spring Boot - Application Properties
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Hướng dẫn sử dụng Java Generics
Java Program to Solve the 0-1 Knapsack Problem
Lớp Arrarys trong Java (Arrays Utility Class)
Lớp TreeMap trong Java
Java Program to Implement Cartesian Tree
Cơ chế Upcasting và Downcasting trong java
Java Program to implement Bit Matrix
Java Program to Generate Random Numbers Using Probability Distribution Function
Java Program to Implement Nth Root Algorithm
Java Program to Implement Repeated Squaring Algorithm
Java Program to Check whether Graph is Biconnected
Java Program to Implement Graph Coloring Algorithm
A Guide to Java HashMap
Ways to Iterate Over a List in Java
Java Program to Implement ConcurrentHashMap API
Comparing Strings in Java
Request a Delivery / Read Receipt in Javamail
Java Program to Emulate N Dice Roller
A Guide to JUnit 5