【刷算法】LeetCode.278-第一个错误的版本
题目描述
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。
假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。
你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。
示例:
给定 n = 5,并且 version = 4 是第一个错误的版本。调用 isBadVersion(3) -> false
调用 isBadVersion(5) -> true
调用 isBadVersion(4) -> true
所以,4 是第一个错误的版本。
代码实现
// 二分查找变种
/*** Definition for isBadVersion()* * @param {integer} version number* @return {boolean} whether the version is bad* isBadVersion = function(version) {* ...* };*//*** @param {function} isBadVersion()* @return {function}*/
var solution = function(isBadVersion) {/*** @param {integer} n Total versions* @return {integer} The first bad version*/return function(n) {let l = 1, r = n;while(l <= r) {let mid = l + Math.floor((r-l)/2);if(isBadVersion(mid))r = mid-1;else l = mid+1;}return l;};
};
【刷算法】LeetCode.278-第一个错误的版本相关推荐
- Java实现 LeetCode 278 第一个错误的版本
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_第一个错误的版本
python有一个解题思路是把二分查找完的左标尺left和1进行大小比较 class Solution:def firstBadVersion(self, n):""": ...
- 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 ...
最新文章
- 在SolidWorks 3D CAD中构建乐高直升机
- Strategy_Level2
- 由浅到深了解工厂模式
- 神经网络 | 网络优化-线性神经网络-delta学习规则-梯度下降法(单层感知器-异或问题Python源代码)
- python opencv源码_caffegpu源码编译
- linux上查看gitlab日志,如何查看Gitlab的版本?
- python的datetime模块
- ansible(6)——模块命令command、shell详细用法
- 第一个MVVM wp7程序
- FM1288通过串口配置
- 2017 校赛 问题 B: CZJ-Superman
- [cocos2dx]斗地主随机发牌界面生成
- 角色从项目经理转换ScrumMaster的一些思考和总结
- 计算机网络综合布线的发展史,浅析计算机网络综合布线系统设计
- matlab截取图像像素,图像中获取图像的像素值
- 安卓防止微信调整字体大小
- 【Android工具】更新手机流媒体播放器,手机DLNA播放器OPlayer
- Unity Shader学习(四)试着绘制一个正方形
- robots协议文件的几种写法及示例
- html显示隐藏图片,简单的图片显示与隐藏
热门文章
- android 中间按钮突出,Android 实现 按钮从两边移到中间动画效果
- springcloud 子项目怎么导入_Spring Cloud基础面试题大集合
- deepin linux 命令行_ThinkPad E480安装Manjaro-Deepin备忘录
- 用于生成随机数的python标准库模块是_17 Python 标准库之 random 模块 - Python 进阶应用教程...
- 输电线路巡检机器人PPT_超高压输电线路巡检机器人系统
- c++链表形参丢失_LeetCode 例题精讲 | 01 反转链表:如何轻松重构链表
- mysql性能优化简书_MySQL性能优化
- 参加第十六届智能车竞赛同学提问与回答-6-30
- 2021年春季学期-信号与系统-第四次作业参考答案
- RASPBERRY 端口(GPIO)基本测试