LeetCode278:First Bad Version

需求:
您是一位产品经理,目前正在领导一个团队开发新产品。不幸的是,你们最新版本的产品没有通过质量检查。由于每个版本都是在前一个版本的基础上开发的,所以一个坏版本之后的所有版本也是坏的。
假设你有n个版本[1,2,…你想找出第一个坏的,它会导致下面所有的坏。
你有一个API bool isBadVersion(版本),它会返回版本是否坏。实现一个函数来查找第一个坏版本。您应该尽量减少对API的调用。
测试用例:
#1: true true true true false
输出:4
#2:true false
输出:2
#3:false false
输出: 1

代码:
/ The isBadVersion API is defined in the parent class VersionControl.
boolean isBadVersion(int version);
/

public class Solution extends VersionControl {
public int firstBadVersion(int n) {

    int left = 1;
    int right = n;

    while (left < right)
    {
        int mid = left + (right - left) / 2;

        if(isBadVersion(mid))
        {
            right = mid;
        }
        else
        {
            left = mid + 1;
        }
    }

    return right;

}

}

上一篇:WOE(证据权重)为何这样计算?


下一篇:蓝桥杯题目练习(My Bad)