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 }

 

你可能感兴趣的:(array)