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:
Vector trong Java
REST Web service: HTTP Status Code và xử lý ngoại lệ RESTful web service với Jersey 2.x
Java Program to Find Minimum Element in an Array using Linear Search
Java Program to implement Circular Buffer
How to Get All Spring-Managed Beans?
Redirect to Different Pages after Login with Spring Security
Java Program to Implement Quick Hull Algorithm to Find Convex Hull
ClassNotFoundException vs NoClassDefFoundError
Java Program to Create a Random Graph Using Random Edge Generation
Array to String Conversions
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Java Program to Perform the Shaker Sort
Receive email using IMAP
HttpClient with SSL
A Guide to HashSet in Java
Guide to UUID in Java
Convert String to Byte Array and Reverse in Java
Using Custom Banners in Spring Boot
OAuth2 Remember Me with Refresh Token
Java Program to Implement Gauss Seidel Method
Spring Boot - Database Handling
So sánh Array và ArrayList trong Java
Creating Docker Images with Spring Boot
Transaction Propagation and Isolation in Spring @Transactional
Hướng dẫn Java Design Pattern – Adapter
Introduction to Spring Method Security
Java – String to Reader
Prevent Brute Force Authentication Attempts with Spring Security
Java Program to Use rand and srand Functions
Java – Write a Reader to File
Login For a Spring Web App – Error Handling and Localization
Java Program to Implement Graph Coloring Algorithm