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:
Guide to CopyOnWriteArrayList
Java Program to Generate All Possible Combinations of a Given List of Numbers
Artem and Array
Spring Data MongoDB – Indexes, Annotations and Converters
Extra Login Fields with Spring Security
The DAO with JPA and Spring
Đồng bộ hóa các luồng trong Java
Hướng dẫn kết nối cơ sở dữ liệu với Java JDBC
Call Methods at Runtime Using Java Reflection
Error Handling for REST with Spring
More Jackson Annotations
The Spring @Controller and @RestController Annotations
Java Program to Check Whether a Given Point is in a Given Polygon
Introduction to Spring Cloud Stream
Java Program to Check whether Directed Graph is Connected using BFS
Java Program to Implement the Vigenere Cypher
Java Program to Implement Direct Addressing Tables
Hướng dẫn Java Design Pattern – Factory Method
Java Program to Perform Matrix Multiplication
Java Program to Implement Hash Tables Chaining with Doubly Linked Lists
Intro to Spring Boot Starters
Guava – Join and Split Collections
Java Program to Implement Traveling Salesman Problem using Nearest neighbour Algorithm
Spring Boot - Build Systems
Java Program to Implement ArrayBlockingQueue API
Guide to Spring @Autowired
Spring Security Basic Authentication
Quick Guide on Loading Initial Data with Spring Boot
Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder
Java Program to Perform Quick Sort on Large Number of Elements
Hướng dẫn Java Design Pattern – Facade
Spring Security and OpenID Connect