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:
Configure a Spring Boot Web Application
Tạo số và chuỗi ngẫu nhiên trong Java
Java Program to Compute DFT Coefficients Directly
Tìm hiểu về xác thực và phân quyền trong ứng dụng
JUnit5 @RunWith
Xử lý ngoại lệ trong Java (Exception Handling)
Java 9 Stream API Improvements
Java Program to Implement Stack using Two Queues
Guide to java.util.Formatter
Guide to Guava Table
Multipart Upload with HttpClient 4
Intersection of Two Lists in Java
Disable Spring Data Auto Configuration
The Guide to RestTemplate
Guide to ThreadLocalRandom in Java
Một số ký tự đặc biệt trong Java
Java Program to Perform Postorder Recursive Traversal of a Given Binary Tree
Guava – Join and Split Collections
Java Program to Implement Quick Sort Using Randomization
Hướng dẫn Java Design Pattern – Service Locator
Converting Strings to Enums in Java
Spring Data MongoDB – Indexes, Annotations and Converters
Java Program to Implement Fenwick Tree
Guide to Guava Multimap
LIKE Queries in Spring JPA Repositories
Find the Registered Spring Security Filters
Java Program to Implement Stack
Java Program to Implement PrinterStateReasons API
Các nguyên lý thiết kế hướng đối tượng – SOLID
Java Timer
Introduction to Spring Method Security
Java Program to Implement Hash Tables Chaining with Binary Trees