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 Cloud AWS – EC2
Convert Hex to ASCII in Java
HTTP Authentification and CGI/Servlet
Java – String to Reader
Java Program to Implement the One Time Pad Algorithm
Spring JDBC
Java Program to find the maximum subarray sum using Binary Search approach
Java Program to Implement Horner Algorithm
HttpClient Timeout
Java Program to Implement Rope
Java Program for Douglas-Peucker Algorithm Implementation
Java Program to Implement Insertion Sort
TreeSet và sử dụng Comparable, Comparator trong java
Giới thiệu Aspect Oriented Programming (AOP)
Comparing Dates in Java
How to Convert List to Map in Java
Limiting Query Results with JPA and Spring Data JPA
Guava CharMatcher
Introduction to Spring Method Security
How to Count Duplicate Elements in Arraylist
Java Program to Solve a Matching Problem for a Given Specific Case
Guide to PriorityBlockingQueue in Java
Hướng dẫn Java Design Pattern – Chain of Responsibility
Apache Tiles Integration with Spring MVC
Java Convenience Factory Methods for Collections
Using a List of Values in a JdbcTemplate IN Clause
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Java Program to Implement Dijkstra’s Algorithm using Set
Configure a Spring Boot Web Application
Java Program to Find the Vertex Connectivity of a Graph
Converting String to Stream of chars
Handling URL Encoded Form Data in Spring REST