Java实现 LeetCode 278 第一个错误的版本
2023-09-14 08:58:06 时间
278. 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。
假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。
你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。
示例:
给定 n = 5,并且 version = 4 是第一个错误的版本。
调用 isBadVersion(3) -> false
调用 isBadVersion(5) -> true
调用 isBadVersion(4) -> true
所以,4 是第一个错误的版本。
/* 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 lo = 1, hi = n;
while(lo <= hi){
int mid = lo + (hi - lo) / 2;
if(isBadVersion(mid)){
hi = mid - 1;
}else{
lo = mid + 1;
}
}
return lo;
}
}
相关文章
- JAVA三元运算符_java中三元运算符详解
- java static 变量存在哪_Java中的静态方法和静态变量存储在哪里?
- java从入门到精通_Java 入门到精通的过程
- Java基础知识总结(超详细整理),java从入门到精通pdf「建议收藏」
- Java基础之序列化对象Serialized
- Java后台接收参数出现java.lang.Integer cannot be cast to java.lang.Double错误(已解决)[通俗易懂]
- 【说站】java接口类型有哪些
- Java 如何将 List 转换为 MAP
- Java生成随机数组_java生成唯一数字
- Java cloneable_java浅克隆和深克隆
- 【愚公系列】2023年03月 Java教学课程 112-JDBC的(SQL注入和事务)
- ORA-29518: name string resolved to an object in schema string that is not a Java class ORACLE 报错 故障修复 远程处理
- java如何使用AES加密详解编程语言
- java操作sql server数据库(读取、更新、插入、删除)详解编程语言
- 解决Java程序连接MySQL的准确方案:Java连接MySQL的Jar包(java连接mysql的jar包)
- java 序列化 serialVersionUID transient详解编程语言
- Java实现Redis数据写入(java写入redis)
- 使用Java实现Redis数据存储(redis集成java)
- 如何在Linux系统中指定Java版本(linux指定java)
- Linux系统中下载Java的方法(linux下java下载)
- Java Redis一次实现无限数据加速的尝试(用java redis)
- Java更新提升Oracle软件性能(java更新oracle)