题目描述:
输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
输入:
[3,4,5,1,2]
输出:
[1]
代码实现:
public
class
Solution {
public
int
minNumberInRotateArray(
int
[] array) {
int
low =
0
;
int
high = array.length -
1
;
while
(low < high){
int
mid = low + (high - low) /
2
;
if
(array[mid] > array[high]){
low = mid +
1
;
}
else
if
(array[mid] == array[high]){
high = high -
1
;
}
else
{
high = mid;
}
}
return
array[low];
}
}