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:
Ways to Iterate Over a List in Java
Java Program to Implement Hash Tables with Quadratic Probing
Documenting a Spring REST API Using OpenAPI 3.0
Java Program to find the maximum subarray sum using Binary Search approach
Guide to Apache Commons CircularFifoQueue
Request Method Not Supported (405) in Spring
Java Program to Implement the Vigenere Cypher
Using Custom Banners in Spring Boot
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Hướng dẫn Java Design Pattern – Singleton
Custom Thread Pools In Java 8 Parallel Streams
An Intro to Spring Cloud Zookeeper
Spring Cloud AWS – S3
Java Program to Implement Heap Sort Using Library Functions
Java Program to Implement Ternary Search Algorithm
Introduction to Spring Data REST
Guide to Java 8 groupingBy Collector
Vector trong Java
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Java Program to Perform Finite State Automaton based Search
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Hướng dẫn Java Design Pattern – Mediator
Java Program to Print only Odd Numbered Levels of a Tree
Extract network card address
Java Program to Implement Max Heap
Các kiểu dữ liệu trong java
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Spring Boot - Enabling HTTPS
Life Cycle of a Thread in Java
Consuming RESTful Web Services
Java Program to Implement Weight Balanced Tree