Python 中的第一个坏版本
pythonserver side programmingprogramming更新于 2025/11/2 1:48:17
假设在一家公司中,一位产品经理领导着一个开发新产品的团队。假设最新版本未通过质量检查。由于每个版本都是基于前一个版本开发的,因此坏版本之后的所有版本都是坏的。所以我们有一个包含 n 个元素的数组 A [1, 2, … n],我们必须从这个数组中找到第一个坏版本。
假设我们有一个函数 isBadVersion(version_id),它将返回版本是否坏。例如,假设 n = 5,version = 4 是第一个坏版本。因此,如果 isBadVersion(3) 返回 false,isBadVersion(5) 返回 true,并且 isBadVersion(4) 也返回 true,则第一个错误版本是 4
为了解决这个问题,我们将遵循以下步骤 −
- 当 n < 2 时,返回 n
- 使用给定函数执行二分搜索方法检测错误版本。
示例
让我们看看下面的实现以便更好地理解 −
first_bad = 0 def isBadVersion(version): if version >= first_bad: return True return False class Solution: def firstBadVersion(self, n): if n <2: return n start = 1 end = n while(start<=end): mid = (start+end)//2 if isBadVersion(mid) and not isBadVersion(mid-1): return mid elif isBadVersion(mid-1): end = mid-1 else: start = mid+1 ob1 = Solution() first_bad = 4 op = ob1.firstBadVersion(5) print(op)
输入
5 4
输出
4
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

