题解 | #旋转数组的最小数字#
旋转数组的最小数字
http://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba
解题思路
- 数组从左向右,依次查找,若找到降序排列的元素,即前一个>后一个,则最小元素为后一个
- 若遍历完成,仍然没有满足条件的元素(前一个>后一个),则最小元素为第一个
代码
function minNumberInRotateArray(rotateArray)
{
// write code here
// 数组从左向右查找
for(var i=0; i<rotateArray.length-1;i++){
// 如果,前一个 > 后一个,则后一个为最小元素
if(rotateArray[i+1]<rotateArray[i])
return rotateArray[i+1];
}
// 如果到数组末尾,依然没有前一个 > 后一个出现,则第一个为最小元素。
return rotateArray[0];
}
module.exports = {
minNumberInRotateArray : minNumberInRotateArray
};