【力扣】278. 第一个错误的版本

简介: 【力扣】278. 第一个错误的版本

题目描述

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。


假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。


你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。


示例 1:


输入:n = 5, bad = 4

输出:4

解释:

调用 isBadVersion(3) -> false

调用 isBadVersion(5) -> true

调用 isBadVersion(4) -> true

所以,4 是第一个错误的版本。


示例 2:


输入:n = 1, bad = 1

输出:1


提示:


1 <= bad <= n <= 231 - 1

解题方案

  • C

二分法

// The API isBadVersion is defined for you.
// bool isBadVersion(int version);

int firstBadVersion(int n) {
    int left = 1, right = n, mid = 0;
    while(left < right)
    {
        mid = left + (right - left) / 2;
        if(isBadVersion(mid))
        {
            right = mid;
        }
        else
        {
            left = mid + 1;
        }
    }
    return left;
}


相关文章
|
4月前
|
Go
golang力扣leetcode 278.第一个错误的版本
golang力扣leetcode 278.第一个错误的版本
20 0
|
7月前
|
测试技术 API
【Leetcode -278.第一个错误的版本 -283.移动零】
【Leetcode -278.第一个错误的版本 -283.移动零】
16 0
|
Python
LeetCode 278. 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。
85 0
|
前端开发 算法 JavaScript
LeetCode第一个错误版本使用JavaScript解题|前端学算法
LeetCode第一个错误版本使用JavaScript解题|前端学算法
68 0
LeetCode第一个错误版本使用JavaScript解题|前端学算法
|
测试技术 API
LeetCode 278. 第一个错误的版本 First Bad Version
LeetCode 278. 第一个错误的版本 First Bad Version
LeetCode 278. 第一个错误的版本
LeetCode 278. 第一个错误的版本
42 0
|
测试技术 API 索引
【day10】LeetCode(力扣)刷题(注释详细)[707.设计链表][278.第一个错误的版本][98. 验证二叉搜索树]
刷题(注释详细)[707.设计链表][278.第一个错误的版本][98. 验证二叉搜索树]。
105 0
【day10】LeetCode(力扣)刷题(注释详细)[707.设计链表][278.第一个错误的版本][98. 验证二叉搜索树]
|
算法 测试技术 API
​LeetCode刷题实战278:第一个错误的版本
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
88 0
|
算法 测试技术 API
<LeetCode天梯>Day036 第一个错误的版本(二分查找法) | 初级算法 | Python
<LeetCode天梯>Day036 第一个错误的版本(二分查找法) | 初级算法 | Python
<LeetCode天梯>Day036 第一个错误的版本(二分查找法) | 初级算法 | Python
|
算法 Java 测试技术
LeetCode刷题278-简单-第一个错误版本
LeetCode刷题278-简单-第一个错误版本
122 0
LeetCode刷题278-简单-第一个错误版本

热门文章

最新文章