[E二分] lc278. 第一个错误的版本(二分+水题)
Posted Ypuyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[E二分] lc278. 第一个错误的版本(二分+水题)相关的知识,希望对你有一定的参考价值。
1. 题目来源
2. 题目解析
dp
呢,背包呢?怎么是个有手就行的二分!!!
注意计算 mid=l+r>>1
,本题没给数据返回,直接爆 int
了…
时间复杂度: O ( l o g n ) O(logn) O(logn)
空间复杂度: O ( 1 ) O(1) O(1)
// The API isBadVersion is defined for you.
// bool isBadVersion(int version);
class Solution {
public:
int firstBadVersion(int n) {
int l = 1, r = n;
while (l < r) {
int mid = 0ll + l + r >> 1;
if (isBadVersion(mid)) r = mid;
else l = mid + 1;
}
return l;
}
};
以上是关于[E二分] lc278. 第一个错误的版本(二分+水题)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 278 第一个错误的版本[二分法] HERODING的LeetCode之路
LeetCode 278 第一个错误的版本[二分法] HERODING的LeetCode之路