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:
Java Program to Implement Control Table
Apache Commons Collections Bag
Spring Boot Configuration with Jasypt
Spring MVC + Thymeleaf 3.0: New Features
Introduction to Using FreeMarker in Spring MVC
Java Program to Check if a Given Set of Three Points Lie on a Single Line or Not
Constructor Injection in Spring with Lombok
Java Program to Implement Min Heap
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Java List UnsupportedOperationException
Using JWT with Spring Security OAuth (legacy stack)
Java Program to Find kth Largest Element in a Sequence
Getting Started with GraphQL and Spring Boot
Spring Cloud AWS – EC2
Java Program to Implement the One Time Pad Algorithm
Binary Numbers in Java
Exploring the Spring 5 WebFlux URL Matching
Spring Boot - Internationalization
Concurrent Test Execution in Spring 5
Java Program to Implement Sorted List
So sánh HashSet, LinkedHashSet và TreeSet trong Java
Guide to Java Instrumentation
How to Kill a Java Thread
Lớp Properties trong java
Spring Cloud – Securing Services
Read an Outlook MSG file
Câu lệnh điều khiển vòng lặp trong Java (break, continue)
Abstract class và Interface trong Java
Java Program to Solve the Fractional Knapsack Problem
Java Program to Implement Sorted Vector
@Before vs @BeforeClass vs @BeforeEach vs @BeforeAll
Tạo ứng dụng Java RESTful Client với thư viện OkHttp