旋转数组的最小数字
题目描述
题目地址:http://mtw.so/5PsgbX
题目要求:
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。
解题思路
- 数组从左向右查找
- 如果前一个 > 后一个,则后一个为最小元素
- 如果到数组末尾,依然没有前一个 > 后一个出现,则第一个为最小元素。
解题代码
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
};