20190909:(leetcode习题)第一个错误的版本
第一个错误的版本
- 题目
- 大致思路
- 代码实现
题目
大致思路
- 用类似二分法进行查找即可,注意区分出现的两种情况
已知前面全是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习题)第一个错误的版本相关推荐
- Leetcode 278.第一个错误的版本
Time: 20190909 Type: Easy 题目描述 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错 ...
- LeetCode 278. 第一个错误的版本(二分查找)
1. 题目 你是产品经理,目前正在带领一个团队开发新的产品. 不幸的是,你的产品的最新版本没有通过质量检测. 由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. 假设你有 n ...
- leetcode 278. 第一个错误的版本(二分)
题目 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. 假设你有 n 个版本 ...
- Java实现 LeetCode 278 第一个错误的版本
278. 第一个错误的版本 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. ...
- leetcode 278. 第一个错误的版本(Java版)
题目 https://leetcode-cn.com/problems/first-bad-version/ 题解 二分查找即可,注意可能会溢出,过程要用 long 类型 /* The isBadVe ...
- [刷题]leetcode\278_第一个错误的版本
python有一个解题思路是把二分查找完的左标尺left和1进行大小比较 class Solution:def firstBadVersion(self, n):""": ...
- 2、leetcode278 第一个错误的版本**
leetcode 278 第一个错误的版本 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有 ...
- LeetCode:278(Python)—— 第一个错误的版本(简单)
第一个错误的版本 概述:你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的.假设你 ...
- 第一个正式的python版本_LeetCode | 0278. First Bad Version第一个错误的版本【Python】...
LeetCode 0278. First Bad Version第一个错误的版本[Easy][Python][二分] Problem You are a product manager and cur ...
最新文章
- jquery封装插件
- 请说明一下Spring中BeanFactory和ApplicationContext的区别是什么?
- WatchOS系统开发大全(4)-WatchApp生命周期
- 小程序WXML基本使用
- php伪静态失败,php伪静态后html不能访问怎么办
- TensorFlow中Variable()和get_variable()
- leetcode224. 基本计算器
- C++新特性探究(九):functor仿函数
- 新建iOS工程如何给所有类名添加前缀
- java 注释器_注释和注释处理器入门指南
- 服务器 2.5 英寸硬盘托架安装
- idea调整代码字体大小方法
- Navicat Premium 12 破解
- RS485接口上的PTC
- threejs 贴图动画总结
- java中设置环境变量时,bin和lib的作用是什么?
- python turtle画中国象棋_Python turtle绘画象棋棋盘
- 勒让德Legendre变换
- 黑白图,灰度图,彩色图的理解
- 音乐制作编曲工具FL Studio 20高清视频教程
热门文章
- 今晚开讲 | 打卡公开课、冲击排行榜,还有福利领取
- 工程师与项目经理之间差距何在?
- 微软员工揭秘 Windows 的 Linux 子系统研发全过程
- 程序员修神之路:问世间异步为何物?
- 4月数据库流行度排行:深陷裁员风波的Oracle持续增长股价获新高
- @程序员,你的 996,可能是给公司无能的管理背锅
- docker pull 国内镜像_MAC版 的最新Docker 2.2版本配置国内代理的解决办法
- 安装ie9提示未能完成安装_Windows 7下安装IE 11失败,提示:Internet Explorer未能完成安装...
- C语言家谱管理程序,C语言实现家谱管理
- mysql 环形主从_【每日一博】MySQL 互为主从(环形结构)_MySQL