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 Skip List
Lập trình hướng đối tượng (OOPs) trong java
Guide to Selenium with JUnit / TestNG
A Guide to ConcurrentMap
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Java Program to Use Boruvka’s Algorithm to Find the Minimum Spanning Tree
4 tính chất của lập trình hướng đối tượng trong Java
Spring Boot Change Context Path
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Overflow and Underflow in Java
Working With Maps Using Streams
Apache Commons Collections SetUtils
Tổng quan về ngôn ngữ lập trình java
Java Program to Implement RoleList API
Guide to java.util.concurrent.BlockingQueue
Collection trong java
Mapping Nested Values with Jackson
Java Program to Implement CountMinSketch
Java Program for Topological Sorting in Graphs
Converting String to Stream of chars
Java Program to Implement CopyOnWriteArraySet API
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Spring – Injecting Collections
Spring Boot Integration Testing with Embedded MongoDB
Từ khóa throw và throws trong Java
Java Program to Implement PriorityQueue API
Java Program to Implement Find all Back Edges in a Graph
Java Program to Perform Finite State Automaton based Search
Circular Dependencies in Spring
Debugging Reactive Streams in Java
Java Program to Check Whether Graph is DAG
Introduction to Spring Data REST