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 Implement AVL Tree
A Guide to System.exit()
HttpClient 4 – Send Custom Cookie
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Hướng dẫn Java Design Pattern – Iterator
Create a Custom Auto-Configuration with Spring Boot
How to Define a Spring Boot Filter?
Generic Constructors in Java
Guide to java.util.Formatter
Ways to Iterate Over a List in Java
Apache Camel with Spring Boot
Java Program to Implement LinkedList API
Encode a String to UTF-8 in Java
Java Program to Print only Odd Numbered Levels of a Tree
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
Java Program to Implement Hash Tables with Linear Probing
A Guide to WatchService in Java NIO2
Why String is Immutable in Java?
A Guide to Queries in Spring Data MongoDB
Beans and Dependency Injection
Java – Reader to InputStream
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Java Program to Implement Adjacency Matrix
Spring Cloud Bus
Java Program to Implement Ternary Search Tree
Filtering a Stream of Optionals in Java
Java Program to Implement RoleUnresolvedList API
Java Program to Implement Quick Sort Using Randomization
The Registration Process With Spring Security
Java Program to Implement Skip List
Jackson Unmarshalling JSON with Unknown Properties