diff options
Diffstat (limited to 'MinRotatedArray.java')
-rw-r--r-- | MinRotatedArray.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/MinRotatedArray.java b/MinRotatedArray.java new file mode 100644 index 0000000..b93b2b4 --- /dev/null +++ b/MinRotatedArray.java @@ -0,0 +1,27 @@ +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)); + } +} |