Java实现 LeetCode 278 第一个错误的版本
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 第一个错误的版本相关推荐
- LeetCode 278. 第一个错误的版本(二分查找)
1. 题目 你是产品经理,目前正在带领一个团队开发新的产品. 不幸的是,你的产品的最新版本没有通过质量检测. 由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. 假设你有 n ...
- Leetcode 278.第一个错误的版本
Time: 20190909 Type: Easy 题目描述 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错 ...
- leetcode 278. 第一个错误的版本(二分)
题目 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. 假设你有 n 个版本 ...
- leetcode 278. 第一个错误的版本(Java版)
题目 https://leetcode-cn.com/problems/first-bad-version/ 题解 二分查找即可,注意可能会溢出,过程要用 long 类型 /* The isBadVe ...
- LeetCode-二分查找-278. 第一个错误的版本
278. 第一个错误的版本 思路:二分查找法 // The API isBadVersion is defined for you. // bool isBadVersion(int version) ...
- 278. 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. 假设你有 n 个版本 [1, ...
- 文巾解题 278. 第一个错误的版本
1 题目描述 2 解题思路 二分查找见:二分查找详解_刘文巾的博客-CSDN博客 class Solution(object):def firstBadVersion(self, n):left=1r ...
- 力扣 278.第一个错误的版本
解题思路 二分查找即可 代码 // The API isBadVersion is defined for you. // bool isBadVersion(int version);int fir ...
- [刷题]leetcode\278_第一个错误的版本
python有一个解题思路是把二分查找完的左标尺left和1进行大小比较 class Solution:def firstBadVersion(self, n):""": ...
最新文章
- 赠书:一本书带你吃透Nginx应用与运维
- thinkphp phpexcel导出
- 家用笔记本电脑什么牌子好_家用什么牌子的吸尘器好?
- Android 加载GIF图最佳实践
- python-爬虫(1)
- 转载 雨松mono Unity获取游戏对象详解(来自我的长微博)
- 时间序列数据卡尔曼滤波_使用Highcharts和InfluxDB可视化时间序列数据
- 我的这套VuePress主题你熟悉吧
- 求$N^N$的首位数字
- matlab qpsk实验,MATLAB-QPSK调制与解调
- dxgi的概念以及奇怪问题处理
- java get set怎么用_JAVA get set用法
- 国产操作系统盘点(2)——统信UOS & 深度Deepin
- 微信大数据推荐算法比赛
- 【大厂面试】智力题怎么破?
- 常州华翎六月风钢管舞惊人的优势
- Linux随笔16-主从DNS服务搭建以及智能DNS服务搭建、基于CentOS7.6编译安装MySQL-5.7.32
- stm32——自定义HID设备
- 必须得会的汽车ECU研发基础—软件开发流程6
- 遥感水文前景_我国“人才紧缺”的7大专业,就业前景好,快来看看
热门文章
- android service什么时候销毁,阳光沙滩-android 通过AppWidgetProvider 启动的Service会自动销毁问题...
- 经销商转型为什么要选择移动订货平台?
- iOS 模态视图,阻尼动画
- Android Jetpack 学习之Navigation、BottomNavigationView
- 【校招VIP】IT职位校招简历千万不要用两栏的模板,另外,告诉你个陷阱:越个性机会越少
- openssl 的安装
- ]一周热文推荐:致应届毕业生——程序员的生存法则
- android pdf编辑,Foxit PDF SDK
- Excel的透视表:概念、用途、应用
- 人生没有太晚的开始,只有不开始