第一个错误的版本

  • 题目
  • 大致思路
  • 代码实现

题目

大致思路

  1. 用类似二分法进行查找即可,注意区分出现的两种情况
    已知前面全是right版本 后面全是false版本,根据他们的分界点进行区分,分界点在中点左,中点右进行区分。

代码实现

/* The isBadVersion API is defined in the parent class VersionControl.boolean isBadVersion(int version); */public class Solution extends VersionControl {public int firstBadVersion(int n) {if (isBadVersion(1))return 1;// 设置左右指针和他们的动态中点。int left = 1;int right = n;int middle;while (left < right) {// 计算当前中点middle = left / 2 + right / 2;//middle = (left + right )/2;这里不能写为和/2,和的话会超出时间限制,必须单独分开写。// 如果当前中点为错误版本,则应从这之前的版本找,因此把右指针指到此处,否则,左指针指到此处+1的位置。if (isBadVersion(middle))right = middle;elseleft = middle + 1;}// 当左右相同时,即找到了那个第一个错误的版本。return left;}
}

20190909:(leetcode习题)第一个错误的版本相关推荐

  1. Leetcode 278.第一个错误的版本

    Time: 20190909 Type: Easy 题目描述 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错 ...

  2. LeetCode 278. 第一个错误的版本(二分查找)

    1. 题目 你是产品经理,目前正在带领一个团队开发新的产品. 不幸的是,你的产品的最新版本没有通过质量检测. 由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. 假设你有 n ...

  3. leetcode 278. 第一个错误的版本(二分)

    题目 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. 假设你有 n 个版本 ...

  4. Java实现 LeetCode 278 第一个错误的版本

    278. 第一个错误的版本 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. ...

  5. leetcode 278. 第一个错误的版本(Java版)

    题目 https://leetcode-cn.com/problems/first-bad-version/ 题解 二分查找即可,注意可能会溢出,过程要用 long 类型 /* The isBadVe ...

  6. [刷题]leetcode\278_第一个错误的版本

    python有一个解题思路是把二分查找完的左标尺left和1进行大小比较 class Solution:def firstBadVersion(self, n):""": ...

  7. 2、leetcode278 第一个错误的版本**

    leetcode 278 第一个错误的版本 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有 ...

  8. LeetCode:278(Python)—— 第一个错误的版本(简单)

    第一个错误的版本 概述:你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的.假设你 ...

  9. 第一个正式的python版本_LeetCode | 0278. First Bad Version第一个错误的版本【Python】...

    LeetCode 0278. First Bad Version第一个错误的版本[Easy][Python][二分] Problem You are a product manager and cur ...

最新文章

  1. jquery封装插件
  2. 请说明一下Spring中BeanFactory和ApplicationContext的区别是什么?
  3. WatchOS系统开发大全(4)-WatchApp生命周期
  4. 小程序WXML基本使用
  5. php伪静态失败,php伪静态后html不能访问怎么办
  6. TensorFlow中Variable()和get_variable()
  7. leetcode224. 基本计算器
  8. C++新特性探究(九):functor仿函数
  9. 新建iOS工程如何给所有类名添加前缀
  10. java 注释器_注释和注释处理器入门指南
  11. 服务器 2.5 英寸硬盘托架安装
  12. idea调整代码字体大小方法
  13. Navicat Premium 12 破解
  14. RS485接口上的PTC
  15. threejs 贴图动画总结
  16. java中设置环境变量时,bin和lib的作用是什么?
  17. python turtle画中国象棋_Python turtle绘画象棋棋盘
  18. 勒让德Legendre变换
  19. 黑白图,灰度图,彩色图的理解
  20. 音乐制作编曲工具FL Studio 20高清视频教程

热门文章

  1. 今晚开讲 | 打卡公开课、冲击排行榜,还有福利领取
  2. 工程师与项目经理之间差距何在?
  3. 微软员工揭秘 Windows 的 Linux 子系统研发全过程
  4. 程序员修神之路:问世间异步为何物?
  5. 4月数据库流行度排行:深陷裁员风波的Oracle持续增长股价获新高
  6. @程序员,你的 996,可能是给公司无能的管理背锅
  7. docker pull 国内镜像_MAC版 的最新Docker 2.2版本配置国内代理的解决办法
  8. 安装ie9提示未能完成安装_Windows 7下安装IE 11失败,提示:Internet Explorer未能完成安装...
  9. C语言家谱管理程序,C语言实现家谱管理
  10. mysql 环形主从_【每日一博】MySQL 互为主从(环形结构)_MySQL