• 278. 第一个错误的版本 力扣 二分 简单


    题目描述:

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

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

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

    示例:

    给定 n = 5,并且 version = 4 是第一个错误的版本。

    调用 isBadVersion(3) -> false
    调用 isBadVersion(5) -> true
    调用 isBadVersion(4) -> true

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

    错误点:数字相加超过int

    // The API isBadVersion is defined for you.
    // bool isBadVersion(int version);
    
    class Solution {
    public:
        int firstBadVersion(int n) {
        long long i=1; long long j=n;  //数字和超过int,所以用longlong 定义
        while(i<j)
        {
            int mid=int((i+j)/2);
            if(isBadVersion(mid)) j=mid;
              else i=mid+1;
        }
        return i;
        }
    };
  • 相关阅读:
    SAR图像处理 MSTAR数据库利用问题
    python 获取系统环境变量 os.environ and os.putenv
    python 模块中的 __init__.py __main__.py
    pylint python2.7 安装记录
    Python--字典
    哈希表
    AC自动机模板
    平衡树(Splay)模板
    矩阵快速幂 模板
    非递归线段树
  • 原文地址:https://www.cnblogs.com/stepping/p/14880280.html
Copyright © 2020-2023  润新知