题目描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lcBLd96t-1631588841332)(C:\Users\落雨\AppData\Roaming\Typora\typora-user-images\image-20210906233945710.png)]
题目方案
代码
// The API isBadVersion is defined for you.
// bool isBadVersion(int version);
class Solution {
public:
int firstBadVersion(int n) {
int mid;
int left=1,right=n;
while(left<right){
mid=left+(right-left)/2;
if(isBadVersion(mid))
{
right=mid;
}
else
left=mid+1;
}
return left;
}
};
解题思路
首先这是一种有顺序的排列方式,首先想到二分法,但是这与普通的二分法不同的是无法通过比较大小来确定具体位置,而且一定能够查找到所需要的数据。然后假设右边是第一个错误的点,左边为正确的点,每一次只有左边的点进行移动,当left==right才是错误版本确定的点
网页链接到具体题目
lems/first-bad-version/submissions/)