把一個(gè)數(shù)組最開始的若干個(gè)數(shù)組搬到數(shù)組的末尾墓阀,我們稱之為數(shù)組的旋轉(zhuǎn)郎嫁。輸入一個(gè)非遞減排序的數(shù)組的一個(gè)旋轉(zhuǎn),輸出旋轉(zhuǎn)數(shù)組的最小元素赵颅。 例如數(shù)組{3,4,5,1,2}為{1,2,3,4,5}的一個(gè)旋轉(zhuǎn)氢拥,該數(shù)組的最小值為1。 NOTE:給出的所有元素都大于0锨侯,若數(shù)組大小為0嫩海,請(qǐng)返回0。
if (array.length == 0)
return 0;
int left = 0;
int right = array.length - 1;
int middle = -1;
while (array[left]>=array[right]) {
if(right-left==1){
middle = right;
break;
}
middle = left + (right - left) / 2;
if (array[middle] >= array[left]) {
left = middle;
}
if (array[middle] <= array[right]) {
right = middle;
}
}
return array[middle];