This is a Java Program to find minimum element of a rotated sorted array. The following program uses a binary search approach to find the minimum element of a rotated sorted array. Time complexity is O (log n)
Here is the source code of the Java program to find minimum element of a rotated sorted 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 Minimum element of a rotated * sorted Array using Binary Search approach */ import java.util.Scanner; public class MinimumElementInRotatedSortedArray { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Enter number of elements in array"); int N = scan.nextInt(); int[] arr = new int[ N ]; /* Accept N elements */ System.out.println("Enter "+ N +" elements of rotated sorted array"); for (int i = 0; i < N; i++) arr[i] = scan.nextInt(); System.out.println("Minimum element = "+ min(arr)); } public static int min(int[] arr) { return min(arr, 0, arr.length - 1); } public static int min(int[] arr, int low, int high) { if (high < low) return arr[0]; if (high == low) return arr[low]; /* Calculate mid position */ int mid = (high + low)/2; if (mid < high && arr[mid + 1] < arr[mid]) return arr[mid + 1]; if (mid > low && arr[mid] < arr[mid - 1]) return arr[mid]; /* recursively find min */ if (arr[high] > arr[mid]) return min(arr, low, mid - 1); return min(arr, mid + 1, high); } }
Enter number of elements in array 10 Enter 10 elements of rotated sorted array 59 78 83 99 24 29 35 49 53 56 Minimum element = 24 Enter number of elements in array 10 Enter 10 elements of rotated sorted array 14 23 34 56 61 67 75 81 90 99 Minimum element = 14 Enter number of elements in array 10 Enter 10 elements of rotated sorted array 2 3 4 5 6 7 8 9 10 1 Minimum element = 1
Related posts:
A Guide to the finalize Method in Java
HttpClient with SSL
String Initialization in Java
How To Serialize and Deserialize Enums with Jackson
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Java Program to Implement Levenshtein Distance Computing Algorithm
Java Program to Find kth Smallest Element by the Method of Partitioning the Array
Hướng dẫn Java Design Pattern – Singleton
Getting Started with Stream Processing with Spring Cloud Data Flow
New Stream Collectors in Java 9
Guide to BufferedReader
New Features in Java 9
Java Program to Implement Gauss Jordan Elimination
Converting Between a List and a Set in Java
Java – Byte Array to Reader
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
Tính đóng gói (Encapsulation) trong java
Check If a String Is Numeric in Java
Java Program to Implement Selection Sort
Java Program to Implement Brent Cycle Algorithm
Java Program to Implement Splay Tree
Java Program to Implement TreeSet API
An Intro to Spring Cloud Zookeeper
Java Program to Perform Addition Operation Using Bitwise Operators
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers
Java Program to Perform Complex Number Multiplication
Java Program to Implement Double Ended Queue
Java Program to Find the Vertex Connectivity of a Graph
Spring Security 5 – OAuth2 Login
Remove HTML tags from a file to extract only the TEXT
Send email with JavaMail
Spring Boot - Apache Kafka