首页 > 代码库 > Leetcode-Find Minimum in Rotated Sorted Array

Leetcode-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.

Have you met this question in a real interview?
 
Analysis:
Use the similar method used in "search in roated sorted array".
Solution:
 1 public class Solution { 2     public int findMin(int[] num) { 3         if (num.length==0) return -1; 4  5         int start = 0, end = num.length-1; 6         int mid = -1; 7  8         while (start!=end-1){ 9             mid = (start+end)/2;10 11             if (num[mid]<num[start]){12                 end = mid;13                 continue;14             }15 16             if (num[mid]>num[end]){17                 start = mid;18                 continue;19             }20 21             return num[start];22         }23         24         if (num[start]>num[end]) return num[end];25         else return num[start];26 27     }28 }

 

 
 

Leetcode-Find Minimum in Rotated Sorted Array