This is a Java Program to find peak element of an array. A peak element of an array is that element which is not smaller than its neighbors. Consider only one neighbour for corner elements. The time complexity of the following program is O (n).
Brute Force Algorithm is as follows :
for i in range (n) :
if A[i - 1] <= A[i] >= A[i + 1] :
print A[i]
end if
end for
Here is the source code of the Java program to find peak element of an array. 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 O(n) time (Naive Method)
*/
import java.util.Scanner;
public class PeakElement1
{
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 + 2];
/* set corner values to -infinity */
arr[0] = Integer.MIN_VALUE;
arr[N + 1] = Integer.MIN_VALUE;
/* Accept N elements */
System.out.println("Enter "+ N +" elements");
for (int i = 1; i <= N; i++)
arr[i] = scan.nextInt();
/* Find All Peak Elements */
System.out.println("\nAll Peak Elements : ");
for (int i = 1; i <= N; i++)
if (arr[i - 1] <= arr[i] && arr[i] >= arr[i + 1])
System.out.println(arr[i] +" at position "+ i);
System.out.println();
}
}
Enter size of array 6 Enter 6 elements 1 2 5 5 4 1 All Peak Elements : 5 at position 3 5 at position 4 Enter size of array 7 Enter 7 elements 6 24 15 2 23 99 67 All Peak Elements : 24 at position 2 99 at position 6 Enter size of array 10 Enter 10 elements 10 9 8 24 8 7 97 28 17 63 All Peak Elements : 10 at position 1 24 at position 4 97 at position 7 63 at position 10
Related posts:
Guide to PriorityBlockingQueue in Java
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Different Ways to Capture Java Heap Dumps
Generate Spring Boot REST Client with Swagger
Hướng dẫn Java Design Pattern – Builder
Jackson – Bidirectional Relationships
Java Program to Implement Hash Tables with Quadratic Probing
Simple Single Sign-On with Spring Security OAuth2
Java Program to Perform Complex Number Multiplication
Unsatisfied Dependency in Spring
Extra Login Fields with Spring Security
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Java Program to implement Associate Array
Flattening Nested Collections in Java
A Guide to TreeMap in Java
Java Program to implement Bi Directional Map
Java Program to Find All Pairs Shortest Path
How to Read a Large File Efficiently with Java
A Guide to Iterator in Java
Java Program to Implement Stack using Two Queues
Spring Boot - Tomcat Deployment
Java Program to Generate Randomized Sequence of Given Range of Numbers
Các kiểu dữ liệu trong java
Java Program to Implement Find all Back Edges in a Graph
Java Program to Generate All Possible Combinations of a Given List of Numbers
Java Program to Implement Bellman-Ford Algorithm
Java Program to Solve Knapsack Problem Using Dynamic Programming
Receive email by java client
Convert char to String in Java
Java Program to Implement Hash Tables Chaining with Binary Trees
Case-Insensitive String Matching in Java
Mockito and JUnit 5 – Using ExtendWith