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[] num) {
 3         if(num == null || num.length == 0) return 0;
 4         int str = 0, end = num.length - 1;
 5         while(str < end){
 6             int mid = (str + end) / 2;
 7             if(num[mid] < num[end]){
 8                 end = mid;
 9             }else{
10                 str = mid + 1;
11             }
12         }
13         return num[str];
14     }
15 }

 

posted on 2014-10-16 11:23  Step-BY-Step  阅读(162)  评论(0编辑  收藏  举报

导航