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

**Sanfoundry Global Education & Learning Series – 1000 Java Programs.**

If you wish to look at all Java Programming examples, go to Java Programs.