题意:找最开始坏的版本。
思路:二分查找,注意边界溢出。
// Forward declaration of isBadVersion API.
bool isBadVersion(int version);
class Solution {
public:
int firstBadVersion(int n) {
int low = 1;
int high = n;
int mid = low + (high - low) / 2;
while(low != high) {
if(isBadVersion(mid)) {
high = mid;
mid = low + (high - low) /2;
}
else {
low = mid + 1;
mid = low + (high - low) /2;
}
}
return low;
}
};

本文介绍了一个使用二分查找算法来确定一系列版本中首次出现故障版本的方法。通过不断缩小搜索范围直至找到确切位置。
214

被折叠的 条评论
为什么被折叠?



