第一个错误的版本

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

题目

大致思路

  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. null未定义_PHP的isset()、is_null、empty()使用总结
  2. 【机器学习PAI实践九】如何通过机器学习实现云端实时心脏状况监测
  3. 十三、CSS 3新特性详解(一)——属性、结构伪类、伪元素选择器,nth-child与nth-of-type区别,2D rotate,calc函数、滤镜filter、过渡transition
  4. 没有可用软件包 docker-compose。_XSS可用空间只有364G!是XSS游戏更小《盗贼之海》小一大半...
  5. odoo tree视图过滤数据_OpenERP Odoo 搜索视图设置默认过滤按钮(filter button)
  6. 锚点盒子随滚动条浮动
  7. c语言上机+pdf,c语言上机题库.pdf
  8. 0 基础 Java 自学之路(2021年最新版)
  9. python汉化 草蟒_草蟒首页、文档和下载 - Python 汉化版
  10. 系统架构设计师三次考试分享
  11. 车林通购车之家--购车计算器模块--贷款
  12. MsXml创建和解析XML示例
  13. 数据库基础及常用SQL语句
  14. 如何理解光圈、ISO、快门、曝光这几个概念?
  15. 微信小程序 --- 不在以下合法域名列表中请参考文档
  16. 操作系统实战 45 讲:运行HelloOS界面
  17. [4G/5G/6G专题基础-155]: 5G 3GPP高精确室内定位原理、AI方案概述
  18. 苹果电脑登不上苹果商店_附近没有苹果商店? 尝试苹果授权服务提供商
  19. 向量内积和夹角的关系
  20. [1168]OSS ossutil64安装及使用

热门文章

  1. 微信地位,牢不可破?
  2. @程序员,别再让 Hotplug 问题难住你!
  3. 百度邀您来听一场云存储的大戏!
  4. 20 年前,微软怎样改变了我们鼠标的使用方式?| 极客头条
  5. Windows 3.1 往事:历史上第一个真正占据主导地位的操作系统
  6. 你的红包狂欢夜,互联网巨头们的流量争夺战
  7. 我们为什么要学习 Python、TypeScript 与 Go?
  8. 刘强东成京东数科二股东;高通再诉苹果;金立否认裁定破产 | 极客头条
  9. Hacker News 8 月招聘趋势榜:React 连续 15 月登顶,Python 卫冕编程语言
  10. 苹果抛弃 OpenGL!