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:
Java Program to Convert a Decimal Number to Binary Number using Stacks
How to Manually Authenticate User with Spring Security
Java Program to Perform Uniform Binary Search
Hướng dẫn Java Design Pattern – DAO
Convert a Map to an Array, List or Set in Java
Java Program to Perform Arithmetic Operations on Numbers of Size
Giới thiệu java.io.tmpdir
Guide to CountDownLatch in Java
Explain about URL and HTTPS protocol
Custom Cascading in Spring Data MongoDB
Copy a List to Another List in Java
Login For a Spring Web App – Error Handling and Localization
Toán tử trong java
Zipping Collections in Java
Java Program to implement Associate Array
Hướng dẫn sử dụng Java Generics
The Spring @Controller and @RestController Annotations
Integer Constant Pool trong Java
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Java – Try with Resources
Reactive WebSockets with Spring 5
Java Program to Implement Sorted Array
Spring Boot - Zuul Proxy Server and Routing
Spring Boot - Exception Handling
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Java Program to Find Strongly Connected Components in Graphs
Thao tác với tập tin và thư mục trong Java
Use Liquibase to Safely Evolve Your Database Schema
Java Program to Implement Adjacency Matrix
Sending Emails with Java
Check if a String is a Palindrome in Java
Spring Cloud AWS – Messaging Support