呼叫API的次数越少越好,因为不确定错误会是在前面一点的版本出现,还是後面一点的版本出现,因此最好从中间的版本切入,如果该版本回传结果为有错误的版本,则继续往前追溯;反之若回传为正确版本,则继续往後追溯,直到寻找的版本号边界交错。
是Binary search的应用题。
class Solution {
public:
int firstBadVersion(int n) {
int bversion = -1;
int lb = 0, ub = n;
while( ub >= lb ) {
int index = lb + (ub - lb) / 2;
if ( isBadVersion(index) ) {
ub = index - 1;
bversion = index;
}
else
lb = index + 1;
}
return bversion;
}
};
了解题目到写完程序,我花了10分钟,还是可以再更快一点> 口 <。
>>: Leetcode (Algorithm I): 5. Search Insert Position
来轻松聊聊 今天的内容将着重在版面配置,利用这些属性,可以让一个网页,从完全空白到能清楚的区分网页中...
预设已经帮我们建立一个 Text 元件"Hello world",且会看到Aut...
iRedMail简介 iRedMail是基于开源的postfix、dovecot、openldap...
昨天介绍资料库的概念,今天会开始操作 Postgres 资料库。GOGO! 以下示范均是直接对 po...
Hashicorp Vault: KeePass into Vault 今天介绍一个小工具,当你要把...