Find Minimum in Rotated Sorted Array

题目:

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 }

 

 

 

posted @ 2015-07-13 20:25  Hygeia  阅读(132)  评论(0编辑  收藏  举报