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:
Date Time trong Java 8
HttpAsyncClient Tutorial
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
ExecutorService – Waiting for Threads to Finish
Java Program to Implement Ternary Search Tree
Entity To DTO Conversion for a Spring REST API
Java Program to Implement Gaussian Elimination Algorithm
Java Program to Implement Ford–Fulkerson Algorithm
Java InputStream to String
Sending Emails with Java
How to Delay Code Execution in Java
Java Program to Check Cycle in a Graph using Graph traversal
Jackson – Unmarshall to Collection/Array
The Spring @Controller and @RestController Annotations
Java Program to Implement LinkedBlockingQueue API
Introduction to Spring Data JPA
Java Program to Describe the Representation of Graph using Incidence Matrix
Java 8 Collectors toMap
Inheritance with Jackson
Jackson JSON Views
A Quick JUnit vs TestNG Comparison
Map Interface trong java
Guide to UUID in Java
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
The Guide to RestTemplate
Spring Boot - Application Properties
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Java Program to Implement the Program Used in grep/egrep/fgrep
Spring Boot Tutorial – Bootstrap a Simple Application
How to Change the Default Port in Spring Boot
Java Program to Compute the Area of a Triangle Using Determinants
Spring Boot - Actuator