[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;   
}

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

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试