278. First Bad Version
来源:互联网 发布:淘宝客qq发单机器人 编辑:程序博客网 时间:2024/05/08 14:27
You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based on the previous version, all the versions after a bad version are also bad.
Suppose you have n
versions [1, 2, ..., n]
and you want to find out the first bad one, which causes all the following ones to be bad.
You are given an API bool isBadVersion(version)
which will return whether version
is bad. Implement a function to find the first bad version. You should minimize the number of calls to the API.
思路:Binary Search变体,
right = mid-1要改成right = mid
对应的while(left <= right)要改成while(left < right),不然会陷入死循环
/* The isBadVersion API is defined in the parent class VersionControl. boolean isBadVersion(int version); */public class Solution extends VersionControl { public int firstBadVersion(int n) { int left = 1; int right = n; while(left < right){ int mid = left + (right - left) / 2; if(isBadVersion(mid)) right = mid; else left = mid + 1; } return left; }}
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 278. First Bad Version
- 使用canvas简单绘制心电图
- 什么时候使用接口?什么时候使用抽象?选择Java接口还是抽象类
- Java内存溢出的原因有哪些?Java进程占用内存构成有哪些?
- iBET Malaysia Casino Lucky Draw ADIDAS YEEZY 350 V2
- POJ_3259_Wormholes【判断负权】
- 278. First Bad Version
- hbase 安全管理(kerberos)配置完成启动方式
- 欢迎使用CSDN-markdown编辑器
- 多线程
- xcode工程间的引用,iOS静态库
- 【第五课】面向对象编程---利用static的两种用法
- AR SANDBOX
- 1422 沙拉酱前缀 (二分+离散化)@
- svn迁移还原(图文)