力扣-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

代码

思路分析:

1.题目中的调用函数的返回值false是正确的版本!
2.就是找false的最后一个位置
个人认为,此题完全就是力扣-34题的简单版本,大家可以参考我的这篇文章,看完一定可以明白,此题就是小儿科!!!

int firstBadVersion(int n) 
{
   
    int left = 0, right = n - 1;
    int version = 1;
    while(left <= right)
    {
   
        int mid = left + (right - left) / 2;
        /*说白了就是找到false的最后一个数的位置*/
        if(false == isBadVersion(mid))
        {
   
            version = mid;
            left = mid + 1;
        }
        else
        {
   
            right = mid - 1;
        }
    }

    return version + 1;
}

相关推荐

  1. -278. 第一错误版本

    2024-01-10 09:30:01       63 阅读
  2. 第一错误版本

    2024-01-10 09:30:01       51 阅读
  3. -28. 找出字符串中第一匹配项下标

    2024-01-10 09:30:01       37 阅读
  4. [题解] 28. 找出字符串中第一匹配项下标

    2024-01-10 09:30:01       22 阅读
  5. 11-二分-索引二分-第一错误版本

    2024-01-10 09:30:01       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-10 09:30:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-10 09:30:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-10 09:30:01       82 阅读
  4. Python语言-面向对象

    2024-01-10 09:30:01       91 阅读

热门阅读

  1. xopen 一个高效压缩和解压缩python库碾压gzip

    2024-01-10 09:30:01       46 阅读
  2. apache2的虚拟主机的配置

    2024-01-10 09:30:01       49 阅读
  3. DevOps|产研运协作工具链上的皇冠-项目管理工具

    2024-01-10 09:30:01       56 阅读
  4. Leetcode 2697. 字典序最小回文串

    2024-01-10 09:30:01       58 阅读
  5. 【SOC的多种计算方法】

    2024-01-10 09:30:01       59 阅读
  6. performClick()方法

    2024-01-10 09:30:01       53 阅读
  7. The most simple way to use Postman

    2024-01-10 09:30:01       57 阅读
  8. php将文本内容写入一个文件(面向对象写法)

    2024-01-10 09:30:01       63 阅读
  9. php中的继承和接口

    2024-01-10 09:30:01       55 阅读