题意:
有一个bool序列表示对应下标的版本是否出问题(下标从1开始),如果一个版本出了问题,那么其后面全部版本必定出问题。现在给出判断任意版本是否出问题的API,请找到第一个出问题的版本。
思路:
明显的二分查找。
// Forward declaration of isBadVersion API.
bool isBadVersion(int version); class Solution {
public:
int firstBadVersion(int n) {
int L=, R=n;
while(L<R)
{
int mid=R-(R-L+)/;
if(isBadVersion(mid)) R=mid;
else L=mid+;
}
return R;
}
};
AC代码