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;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。