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 luồng vào ra (I/O) trong Java
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Tạo chương trình Java đầu tiên sử dụng Eclipse
Java Program to Implement RoleUnresolvedList API
Creating a Generic Array in Java
The Dining Philosophers Problem in Java
Reactive WebSockets with Spring 5
Java Program to Implement Sorted Singly Linked List
Spring Security OAuth Login with WebFlux
Truyền giá trị và tham chiếu trong java
Hướng dẫn Java Design Pattern – Service Locator
Java Multi-line String
The Order of Tests in JUnit
Concatenating Strings In Java
Introduction to the Java NIO Selector
The Spring @Controller and @RestController Annotations
Immutable Objects in Java
Comparing Strings in Java
Merging Two Maps with Java 8
Apache Commons Collections SetUtils
CharSequence vs. String in Java
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)
Serve Static Resources with Spring
A Guide to System.exit()
Java Program to Create a Balanced Binary Tree of the Incoming Data
Java Program to Implement the Checksum Method for Small String Messages and Detect
Exploring the New Spring Cloud Gateway
Comparing Two HashMaps in Java
Java Program to Implement Stack
Java Program to Implement Tarjan Algorithm
Removing all duplicates from a List in Java
Java Program to Implement Depth-limited Search