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 Doubly Linked List
Java Program to Perform Arithmetic Operations on Numbers of Size
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Guide to Java OutputStream
Spring Boot - Batch Service
Object cloning trong java
Hướng dẫn tạo và sử dụng ThreadPool trong Java
Handling Errors in Spring WebFlux
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Java Program to Implement Double Ended Queue
Giới thiệu Google Guice – Aspect Oriented Programming (AOP)
A Guide to TreeSet in Java
Spring Cloud Bus
Hashing a Password in Java
Count Occurrences of a Char in a String
Practical Java Examples of the Big O Notation
Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
Java Program to Implement Hash Tables chaining with Singly Linked Lists
Java Program to Implement Sorted Circular Doubly Linked List
Changing Annotation Parameters At Runtime
Inject Parameters into JUnit Jupiter Unit Tests
Java Program to Check Whether a Directed Graph Contains a Eulerian Path
Java Program to Implement Quick Sort with Given Complexity Constraint
Creating a Web Application with Spring 5
Working With Maps Using Streams
Apache Commons Collections SetUtils
Kết hợp Java Reflection và Java Annotations
Java Program to Implement Pairing Heap
Java Program to Check whether Undirected Graph is Connected using DFS
StringBuilder vs StringBuffer in Java
Autoboxing và Unboxing trong Java
How to Define a Spring Boot Filter?