乐趣区

关于c:LeetCode刷题学习278第一个错误的版本使用二分查找解决01模型问题

C 语言二分查找解决 01 模型
从 000000011111111 中找到第一个 1
样例输出:
n = 5, bad = 4
输入:4
解释:
调用 isBadVersion(3) -> false
调用 isBadVersion(5) -> true
调用 isBadVersion(4) -> true
所以,4 是第一个谬误的版本

int firstBadVersion(int n) {
    int i=1;
    int j=n;
    while(i<j){int mid=i+(j-i)/2;
        if(!isBadVersion(mid)){i=mid+1;}
        else if(isBadVersion(mid)){j=mid;}
    }
    return i;
}
退出移动版