Skip to content

力扣链接:278.第一个错误的版本

难度:⭐

解题关键词:二分查找

解题思路:标准二分查找。

typescript
var solution = function (isBadVersion: any) {
  return function (n: number): number {
    let left = 1;
    let right = n;

    let result = 0;

    while (left <= right) {
      const mid = Math.floor((right - left) / 2) + left;

      // idBadVersion 由系统提供
      if (isBadVersion(mid)) {
        result = mid;
        right = mid - 1;
      } else {
        left = mid + 1;
      }
    }

    return result;
  };
};