题解 | #旋转数组的最小数字#

旋转数组的最小数字

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
};
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务