标签:
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7
might become 4 5 6 7 0 1 2
).
Find the minimum element.
You may assume no duplicate exists in the array.
注意:考虑到数组可能并没有进行旋转,要把 判断往左还是往右的基准 设为 target = nums[nums.length - 1]
1 public class Solution { 2 public int findMin(int[] nums) { 3 if (nums == null || nums.length == 0) { 4 return -1; 5 } 6 int left = 0, right = nums.length - 1; 7 int target = nums[right]; 8 while (left + 1 < right) { 9 int mid = left + (right - left) / 2; 10 if (nums[mid] < target) { 11 right = mid; 12 } else { 13 left = mid; 14 } 15 } 16 if (nums[left] < nums[right]) { 17 return nums[left]; 18 } else { 19 return nums[right]; 20 } 21 } 22 }
Find Minimum in Rotated Sorted Array
标签:
原文地址:http://www.cnblogs.com/FLAGyuri/p/5655218.html