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:
Hướng dẫn Java Design Pattern – Builder
Java Program to Implement Hamiltonian Cycle Algorithm
Java Program to Perform Preorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Implement AA Tree
Iterable to Stream in Java
Concrete Class in Java
Spring Data Reactive Repositories with MongoDB
Pagination and Sorting using Spring Data JPA
Introduction to the Java NIO Selector
Java Program to Implement Double Ended Queue
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
Spring Data JPA and Null Parameters
Deploy a Spring Boot App to Azure
A Guide to Spring Boot Admin
Java Program to Find the GCD and LCM of two Numbers
Why String is Immutable in Java?
Logout in an OAuth Secured Application
Java Program to Implement Adjacency List
Vector trong Java
Java Program to Implement Trie
Introduction to the Functional Web Framework in Spring 5
Servlet 3 Async Support with Spring MVC and Spring Security
Simultaneous Spring WebClient Calls
Spring Boot - Build Systems
Immutable Map Implementations in Java
Guide to Guava Table
Hướng dẫn Java Design Pattern – Bridge
Comparing Arrays in Java
Introduction to Apache Commons Text
Java Program to Implement the RSA Algorithm
Uploading MultipartFile with Spring RestTemplate
Spring Boot - Web Socket