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

旋转数组的最小数字

https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba

/**
 *
 * @param rotateArray int整型一维数组
 * @param rotateArrayLen int rotateArray数组长度
 * @return int整型
 */
int minNumberInRotateArray(int* rotateArray, int rotateArrayLen) 
{
    int left = 0;
    int right = 0;
    int mid = 0;
    int max = 0;
    int i = 0;
    for (left = 0, right = rotateArrayLen - 1; left < right;) {
        mid = left + (right - left) / 2;
        if (rotateArray[mid + 1] < rotateArray[mid])
            return rotateArray[mid+1];
        if (rotateArray[right] > rotateArray[mid])
            right = mid;
        else if(rotateArray[right] < rotateArray[mid])
            left = mid;
        else 
            right--;
    }
     return rotateArray[left];
    // write code here
}

全部评论

相关推荐

找工作勤劳小蜜蜂:矛盾是没有实习,就是没实战经验,公司不想要,公司不要,你就没有实习,你就进入死循环,另外你的项目不是社会现在有大量岗位存在行业用的,云存储人员早就饱和。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-20 12:46
瘦嘟嘟右卫门:百度文库网盘的暑期也没约面吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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