P227. 第一个出错的版本

leetcode 278 lintcode 74 二分搜索 讨论

温馨提示:您没有权限查看当前视频。 立即购买观看视频

描述

这个题目说的是,给你一个整数 n,1 ~ n 表示一个产品的 n 个版本。其中,从某个版本开始,产品发生了错误。导致从那个版本开始,后面所有版本的产品都有问题。

现在给你一个函数 isBadVersion,输入一个版本号,它会告诉你这个版本的产品是否有问题。你要利用这个函数,找到第一个出错的版本。

比如说,给你的 n 等于 6,也就是说你要在 1 ~ 6 这 6 个版本中,找到第一个出错的版本。

假设第一个出错的版本为 4,那么调用 isBadVersion 会得到:

isBadVersion(1) => false
isBadVersion(2) => false
isBadVersion(3) => false
isBadVersion(4) => true
isBadVersion(5) => true
isBadVersion(6) => true

因此,对于这个例子,你要返回的第一个出错版本就是版本 4。

关于 AlgoCasts

AlgoCasts 旨在用心做好每一个算法讲解视频。每个视频包含两个部分:题目的剖析讲解以及编码,力求在讲解清楚到位的基础上,尽可能地保持视频精简短小,让大家可以在碎片时间里进行学习,并收获这些算法题背后的思想与乐趣。