278第一个错误版本
📃 题目描述
题目链接:278第一个错误版本
🔔 解题思路
找个第一个为true的版本,采用二分板子,搜索左边界,找出第一个为true的index
int firstBadVersion(int n) {
int left = 0, right = n;
int mid;
while (left < right) {
mid = left + ((right - left) >> 1);
if (isBadVersion(mid) == false) left = mid + 1;//缩小左边界
else right = mid; //缩进右边界
}
return left;
}
💥 复杂度分析
- 空间复杂度:o(logn)
- 时间复杂度:0(1)