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:
Spring Boot - Code Structure
Basic Authentication with the RestTemplate
List Interface trong Java
Spring Boot - Eureka Server
Java Program to Implement Shunting Yard Algorithm
HttpAsyncClient Tutorial
Spring Boot - Runners
Guide to Spring 5 WebFlux
Spring MVC Setup with Kotlin
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Java Program to Perform Postorder Recursive Traversal of a Given Binary Tree
Java Program to Implement Quick Sort Using Randomization
Java Program to Implement the Vigenere Cypher
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Hướng dẫn sử dụng Java Annotation
Build a REST API with Spring and Java Config
ETags for REST with Spring
Extra Login Fields with Spring Security
New Features in Java 10
Java Program to Implement the Bin Packing Algorithm
Hướng dẫn Java Design Pattern – Service Locator
Sorting in Java
Converting Between Byte Arrays and Hexadecimal Strings in Java
Spring Security Basic Authentication
Custom Cascading in Spring Data MongoDB
Spring Boot Application as a Service
Working with Tree Model Nodes in Jackson
Removing all Nulls from a List in Java
Java Program to Implement Sparse Matrix
Giới thiệu Google Guice – Injection, Scope
Hướng dẫn Java Design Pattern – Mediator
Handle EML file with JavaMail