0
点赞
收藏
分享

微信扫一扫

Leetcode打卡 278. 第一个错误的版本

苦茶如歌 2022-05-01 阅读 41

在这里插入图片描述
解题核心:二分法降低计算复杂度

流程图(代表整体思路)
在这里插入图片描述

// The API isBadVersion is defined for you.
// bool isBadVersion(int version);

class Solution {
public:
   
    int firstBadVersion(int n) {
        int left=1,right=n;
        if(isBadVersion(1))
           return 1;
        int mid = left + (right - left) / 2;
        while(mid!=left){//有规律总结而得终止条件
            if(isBadVersion(mid))
               right=mid;
            else
               left=mid;
            mid = left + (right - left) / 2;
        }
        return mid+1;//效果等同于   return right 
    }
};
举报

相关推荐

0 条评论