278. 第一个错误的版本

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

假设你有 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 {public int firstBadVersion(int n) {int lo = 1, hi = n;while(lo <= hi){int mid = lo + (hi - lo) / 2;if(isBadVersion(mid)){hi = mid - 1;}else{lo = mid + 1;}}return lo;}
}

Java实现 LeetCode 278 第一个错误的版本相关推荐

  1. LeetCode 278. 第一个错误的版本(二分查找)

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

  2. Leetcode 278.第一个错误的版本

    Time: 20190909 Type: Easy 题目描述 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错 ...

  3. leetcode 278. 第一个错误的版本(二分)

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

  4. leetcode 278. 第一个错误的版本(Java版)

    题目 https://leetcode-cn.com/problems/first-bad-version/ 题解 二分查找即可,注意可能会溢出,过程要用 long 类型 /* The isBadVe ...

  5. LeetCode-二分查找-278. 第一个错误的版本

    278. 第一个错误的版本 思路:二分查找法 // The API isBadVersion is defined for you. // bool isBadVersion(int version) ...

  6. 278. 第一个错误的版本

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

  7. 文巾解题 278. 第一个错误的版本

    1 题目描述 2 解题思路 二分查找见:二分查找详解_刘文巾的博客-CSDN博客 class Solution(object):def firstBadVersion(self, n):left=1r ...

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

    解题思路 二分查找即可 代码 // The API isBadVersion is defined for you. // bool isBadVersion(int version);int fir ...

  9. [刷题]leetcode\278_第一个错误的版本

    python有一个解题思路是把二分查找完的左标尺left和1进行大小比较 class Solution:def firstBadVersion(self, n):""": ...

最新文章

  1. 赠书:一本书带你吃透Nginx应用与运维
  2. thinkphp phpexcel导出
  3. 家用笔记本电脑什么牌子好_家用什么牌子的吸尘器好?
  4. Android 加载GIF图最佳实践
  5. python-爬虫(1)
  6. 转载 雨松mono Unity获取游戏对象详解(来自我的长微博)
  7. 时间序列数据卡尔曼滤波_使用Highcharts和InfluxDB可视化时间序列数据
  8. 我的这套VuePress主题你熟悉吧
  9. 求$N^N$的首位数字
  10. matlab qpsk实验,MATLAB-QPSK调制与解调
  11. dxgi的概念以及奇怪问题处理
  12. java get set怎么用_JAVA get set用法
  13. 国产操作系统盘点(2)——统信UOS & 深度Deepin
  14. 微信大数据推荐算法比赛
  15. 【大厂面试】智力题怎么破?
  16. 常州华翎六月风钢管舞惊人的优势
  17. Linux随笔16-主从DNS服务搭建以及智能DNS服务搭建、基于CentOS7.6编译安装MySQL-5.7.32
  18. stm32——自定义HID设备
  19. 必须得会的汽车ECU研发基础—软件开发流程6
  20. 遥感水文前景_我国“人才紧缺”的7大专业,就业前景好,快来看看

热门文章

  1. android service什么时候销毁,阳光沙滩-android 通过AppWidgetProvider 启动的Service会自动销毁问题...
  2. 经销商转型为什么要选择移动订货平台?
  3. iOS 模态视图,阻尼动画
  4. Android Jetpack 学习之Navigation、BottomNavigationView
  5. 【校招VIP】IT职位校招简历千万不要用两栏的模板,另外,告诉你个陷阱:越个性机会越少
  6. openssl 的安装
  7. ]一周热文推荐:致应届毕业生——程序员的生存法则
  8. android pdf编辑,Foxit PDF SDK
  9. Excel的透视表:概念、用途、应用
  10. 人生没有太晚的开始,只有不开始