import java.lang.*; import java.util.*; class MinRotatedArray { public static int findMin(int[] nums) { int s = 0; int e = nums.length - 1; int min = Integer.MAX_VALUE; while (s < e) { int mid = (s + e) / 2; if (nums[mid - 1] > nums[mid]) { return nums[mid]; } if (nums[s] < nums[mid] && nums[e] < nums[mid]) s = mid + 1; else { e = mid - 1; } } return min; } public static void main(String[] args) { int[] nums = {3, 4, 5, 1, 2}; System.out.println(findMin(nums)); } }