[LeetCode][初级算法][排序和搜索]53 第一个错误的版本

就是简单的二分法查找,只不过结束条件不是命中,而是知道了交界点。

// Forward declaration of isBadVersion API.
bool isBadVersion(int version);

int firstBadVersion(int n) {
    long i = 1;
    long j = n;
    long m;
    while(j-i>0){
        m = (i+j)/2;
        if(isBadVersion(m)){
            j = m-1;
        }else{
            i = m+1;
        }
    }
    if(isBadVersion(j))
        return j;
    else
        return j+1;   
}

阅读更多
个人分类: LeetCode
想对作者说点什么? 我来说一句

leetcode算法题答案PDF

2016年10月14日 1.54MB 下载

没有更多推荐了,返回首页

不良信息举报

[LeetCode][初级算法][排序和搜索]53 第一个错误的版本

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭