[leetcode]第一个错误的版本[javascript]
2019-01-08 10:39
323 查看
版权声明:\ΦωΦ/\ΦωΦ/\ΦωΦ/\ΦωΦ/ https://blog.csdn.net/u010690493/article/details/86063615
你可以通过调用
示例:
https://leetcode-cn.com/problems/first-bad-version/
描述
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。
假设你有
n个版本
[1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。
你可以通过调用
bool isBadVersion(version)接口来判断版本号
version是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。
示例:
给定 n = 5,并且 version = 4 是第一个错误的版本。 调用 isBadVersion(3) -> false 调用 isBadVersion(5) -> true 调用 isBadVersion(4) -> true 所以,4 是第一个错误的版本。
分析
使用二分查找(暴力搜索好像过不了…)
var solution = function(isBadVersion) { /** * @param {integer} n Total versions * @return {integer} The first bad version */ return function(n) { let start = 0, end = n while(start < end) { let mid = parseInt((start + end) / 2) if (isBadVersion(mid)) { end = mid } else { start = mid + 1 } } return start }; };
相关文章推荐
- LeetCode 278. 第一个错误的版本 Python
- Windows 2003 IIS 6.0 安装 Framework 4.0 导致 Framework 2.0 版本无法正常访问和Javascript 解析错误 解决方案
- [LeetCode] First Bad Version 第一个坏版本
- LintCode-第一个错误的代码版本
- openWRT自学---自己编译的第一个 backfire10.03 版本的过程记录 --- 实际是由于下载了错误的backfire源码包导致的
- 第一个错误的代码版本
- [Lintcode]First Bad Version 第一个错误的代码版本
- leetcode 278. First Bad Version-第一个坏版本|二分查找
- lintcode-74-第一个错误的代码版本
- LintCode : 第一个错误的代码版本
- leetcode First Bad Version 第一个坏版本
- 278. First Bad Version (查找第一个错误版本)
- leetcode_278. First Bad Version 寻找第一个坏的版本,二分查找法
- [LintCode] 第一个错误的代码版本
- LintCode 74-第一个错误的代码版本
- 第一个错误的代码版本
- LintCode 第一个错误的代码版本
- lintcode :First bad version 第一个错误的代码版本
- Lintcode 第一个错误版本
- lintcode 74. 第一个错误的代码版本