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

旋转数组的最小数字

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

相关推荐

点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务