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 Graham Scan Algorithm to Find the Convex Hull
Java Program to Implement Wagner and Fisher Algorithm for online String Matching
Lập trình mạng với java
Disable Spring Data Auto Configuration
SOAP Web service: Authentication trong JAX-WS
Migrating from JUnit 4 to JUnit 5
Java Program to Implement the Vigenere Cypher
Command-Line Arguments in Java
New Features in Java 9
How to Read a Large File Efficiently with Java
Java Program to Implement Triply Linked List
Hướng dẫn Java Design Pattern – DAO
Guide to PriorityBlockingQueue in Java
How to Get All Spring-Managed Beans?
Copy a List to Another List in Java
Java Program to Perform String Matching Using String Library
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
Java Program to Check whether Graph is a Bipartite using BFS
Java Program to Represent Linear Equations in Matrix Form
Java Program to Show the Duality Transformation of Line and Point
Fixing 401s with CORS Preflights and Spring Security
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Java Program to Implement AttributeList API
Java Program to Generate a Random Subset by Coin Flipping
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
Introduction to Spring Cloud CLI
A Guide to TreeMap in Java
Spring Boot - Database Handling
CharSequence vs. String in Java
Java Program to Implement AVL Tree
Lớp TreeMap trong Java
Giới thiệu Aspect Oriented Programming (AOP)