首页 > 其他分享 >第一个错误版本

第一个错误版本

时间:2024-01-31 23:12:37浏览次数:35  
标签:第一个 错误 int isBadVersion version 版本

278. 第一个错误的版本(Easy)

问题描述:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。

实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。

示例:

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

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

所以,4 是第一个错误的版本。 
/* The isBadVersion API is defined in the parent class VersionControl.
      boolean isBadVersion(int version); */
public class Solution extends VersionControl {
    //思路:
    //如果第 m 个版本出错(即 isisBadVersion(mid) == true),
    //则表示第一个错误的版本在 [l, m] 之间,令 r = m ;
    //否则第一个错误的版本在 [m + 1, h] 之间,令 l = m + 1。
    //注意:这里判断条件 l < r
    public int firstBadVersion(int n) {
        int l = 1;
        int r = n;
        while(l<r){
            int mid = (r-l)/2+l;
            if(isBadVersion(mid)){
                r = mid;
            }else{
                l = mid+1;
            }
        }
        return l;
    }
}

参考:

标签:第一个,错误,int,isBadVersion,version,版本
From: https://www.cnblogs.com/i9code/p/18000330

相关文章

  • python多版本
    1、分别下载并安装两个版本的python2、去安装的文件夹中将python.exe和pythonw.exe改名加上版本号3、将python.exe文件目录和当前目录下的Scripts目录都加到用户环境变量中去重新安装pip注:若遇到Scripts文件夹中没有pip,则在cmd中运行python39-mensurepip(python39是修改p......
  • 幻兽帕鲁服务器游戏版本怎么升级更新?
    哈喽大家好,我是咕噜美乐蒂,很高兴又见面啦!幻兽帕鲁(MonsterHunter:World)是一款热门的多人在线游戏,玩家可以在服务器上与其他玩家一起探险、狩猎怪物。为了保持游戏的平衡性和提供更好的游戏体验,游戏开发者会定期发布更新版本。在本文中,我将为您详细介绍如何在幻兽帕鲁服务器上升级......
  • 我在2024年的第一个月
    找实习历程  迈入大三,我逐渐意识到实习的重要性,便也计划着在期末考试完之后开始准备简历和面试相关的内容。奈何考完试已经一月五号了,然后填写简历,准备面试技巧以及拍证件照等事情又拖了好几天,再加上寒假实习一般是在去年十一二月份机会比较多一些,这个时间点简直是debuff拉满了......
  • Canary 在软件发布时代表什么版本
    在软件发布中,"Canary"版本指的是CanaryChannel、CanaryBuild或CanaryRelease,它通常是指一种高频率更新且可能包含最新(但未经充分测试)功能和改进的版本。这种版本面向的是愿意接受较高风险并帮助开发者发现潜在问题的用户群体,比如开发者社区、早期尝鲜者或技术预览计划成员......
  • aws ebs 报无权限错误
    awseks 创建ebs的pvc时报以下错误:WarningProvisioningFailed9m28sebs.csi.aws.com_ebs-csi-controller-79d7954f96-thd4s_9a0470ef-ef71-4c55-8a8c-2be08fdc17d9failedtoprovisionvolumewithStorageClass"gp2":rpcerror:code=Internaldesc=Couldnotc......
  • Go语言的100个错误使用场景(11-20)|项目组织和数据类型
    目录前言2.Codeandprojectorganization2.11没有使用函数式选项模式(#11)2.12项目缺乏组织(#12)2.13创建公共设施包(#13)2.14忽略包名的冲突(#14)2.15代码文档缺失(#15)2.16不使用code-linter(#16)3.Datatypes3.1八进制产生的混乱局面(#17)3.2忽略整型溢出(#18)3.3不理解浮点数(#19)3......
  • 公司在数字化过程中犯的7个错误,及其解决方法
     今天,大多数公司都意识到技术提供了转变其业务模式和产品的机会。但是,没有多少人知道他们在采用时所犯的错误。既然我们现在都同意数字化转型不是一种选择,我们不妨拥抱变化并学习如何最好地采用它。但说起来容易做起来难,不是吗?根据麦肯锡的一份报告,在所有采用数字化转型的......
  • 解决proplot和Matplotlib版本冲突问题
    非原创,但忘记来源了,原作者看到请评论或后台联系我添加版权在环境内运行PY代码importimportlibimportosimportreimportsubprocessimportsysimportlogginglogging.basicConfig(level=logging.DEBUG,format='%(asctime)s-%(levelname)s-%(message)s')#Ju......
  • nginx-go-crossplane crossplane golang 版本的nginx 配置解析包
    nginx-go-crossplane属于python版本crossplanenginx配置解析包的golang移植可以实现nginx配置解析转换为json格式的数据,当然也支持将json转换为nginx配置格式说明对于希望基于nginx搞自己的流量统一平台,同时希望基于api管理的,nginx-go-crossplane是一个很不错的选择......
  • 错误的集合
    645.SetMismatch(Easy)集合S包含从1到n的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组nums代表了集合S发生错误后的结果。你的任务是首先寻找到重复出现的整数,再......