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:
Giới thiệu Json Web Token (JWT)
Java – Get Random Item/Element From a List
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
Introduction to Spring Data JPA
Guide to Selenium with JUnit / TestNG
Java 9 Stream API Improvements
Handling Errors in Spring WebFlux
Java Program to Find the Nearest Neighbor Using K-D Tree Search
Hướng dẫn sử dụng Java Annotation
Hướng dẫn Java Design Pattern – DAO
Unsatisfied Dependency in Spring
Guide to the Java Queue Interface
Spring Boot - Internationalization
Java Program to Implement VList
A Guide to System.exit()
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Deploy a Spring Boot App to Azure
Java Program to Convert a Decimal Number to Binary Number using Stacks
Shuffling Collections In Java
Java Program to Implement Warshall Algorithm
How to Get the Last Element of a Stream in Java?
Java Program to Perform Postorder Recursive Traversal of a Given Binary Tree
Implementing a Binary Tree in Java
Request a Delivery / Read Receipt in Javamail
Use Liquibase to Safely Evolve Your Database Schema
Java Program to Implement Johnson’s Algorithm
Java Program to Implement Binomial Tree
Function trong Java 8
Java Program for Douglas-Peucker Algorithm Implementation
Creating a Web Application with Spring 5
How to Read a File in Java