关于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;
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理