LeetCode 278. 第一个错误的版本

简介: LeetCode 278. 第一个错误的版本

278. 第一个错误的版本

var solution = function(isBadVersion) {
    /**
     * @param {integer} n Total versions
     * @return {integer} The first bad version
     */
    return function(n) {
        let left = 1, right = n;
        while (left < right) { // 循环直至区间左右端点相同
            const mid = Math.floor(left + (right - left) / 2); // 防止计算时溢出
            if (isBadVersion(mid)) {
                right = mid; // 答案在区间 [left, mid] 中
            } else {
                left = mid + 1; // 答案在区间 [mid+1, right] 中
            }
        }
        // 此时有 left == right,区间缩为一个点,即为答案
        return left;
    };
};



相关文章
|
4月前
|
算法 测试技术 API
【Leetcode刷题Python】278. 第一个错误的版本
本文提供了使用二分查找算法解决LeetCode "第一个错误的版本" 问题的Python实现,通过递归地缩小搜索范围来查找导致之后所有版本出错的第一个错误版本。
22 0
|
7月前
|
测试技术 API
【力扣】278. 第一个错误的版本
【力扣】278. 第一个错误的版本
|
7月前
|
测试技术 API C++
leetcode-278:第一个错误的版本
leetcode-278:第一个错误的版本
30 1
|
7月前
|
Go
golang力扣leetcode 278.第一个错误的版本
golang力扣leetcode 278.第一个错误的版本
33 0
|
7月前
|
存储 算法 vr&ar
☆打卡算法☆LeetCode 165. 比较版本号 算法解析
☆打卡算法☆LeetCode 165. 比较版本号 算法解析
|
存储
leetcode 165. 比较版本号
leetcode 165. 比较版本号
52 0
|
测试技术 API
【Leetcode -278.第一个错误的版本 -283.移动零】
【Leetcode -278.第一个错误的版本 -283.移动零】
31 0
|
Python
LeetCode 278. 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。
109 0
|
存储
LeetCode 165. 比较版本号
给你两个版本号 version1 和 version2 ,请你比较它们。
85 0
|
前端开发 算法 JavaScript
LeetCode第一个错误版本使用JavaScript解题|前端学算法
LeetCode第一个错误版本使用JavaScript解题|前端学算法
92 0
LeetCode第一个错误版本使用JavaScript解题|前端学算法