题目:
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.
代码:九章算法的模板
1 public class Solution { 2 public int findMin(int[] nums) 3 { 4 int start = 0; 5 int end = nums.length-1; 6 7 while(start+1<end) 8 { 9 int mid = start + (end-start)/2; 10 if(nums[mid]>=nums[end]) start=mid; 11 else end=mid; 12 } 13 14 if(nums[start]>=nums[end])return nums[end]; 15 else return nums[start]; 16 17 } 18 }