function minNumberInRotateArray(rotateArray) {
// write code here
let temp = [];
function getMin(l, r) {
if (l == r) {
// 当只剩一个区间,则为最小值
return rotateArray[l];
}
// 取中位数下标
let mid = parseInt((l + r) / 2);
if (rotateArray[l] < rotateArray[mid] && rotateArray[mid] < rotateArray[r]) {
// 递增,则赋值左边
return getMin(l, mid);
} else if (rotateArray[l] > rotateArray[mid] && rotateArray[mid] > rotateArray[r]) {
// 递减,则赋值右边
return getMin(mid + 1, r);
} else {
// 左边界大于等于右边界,则缩小左边界
if (rotateArray[l] >= rotateArray[r]) {
return getMin(l + 1, r);
} else {
return getMin(l, r - 1);
}
}
}
let len = rotateArray.length;
let ans = getMin(0, len - 1);
// console.log("index:", index);
return ans;
}
module.exports = {
minNumberInRotateArray: minNumberInRotateArray
};