LeetCode278. First Bad Version
来源:互联网 发布:安徽大学人工智能 编辑:程序博客网 时间:2024/05/01 02:45
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.
/* The isBadVersion API is defined in the parent class VersionControl. boolean isBadVersion(int version); */public class Solution extends VersionControl { public static final int MAX_INT = Integer.MAX_VALUE;; public int firstBadVersion(int n) { int result = MAX_INT; int start = 1; int end = n; int mid = 0; while (start <= end) { mid = start + ((end-start) >>> 1); boolean bad = isBadVersion(mid); if (bad) { //是坏版本,先记录下来,然后需要继续往前找第一个坏版本 result = Math.min(result, mid); end = mid - 1; } else { //不是坏版本,需要继续往后找 start = mid + 1; } } return result; }}
0 0
- leetcode278:First Bad Version
- leetcode278---First Bad Version
- LeetCode278. First Bad Version
- Leetcode278. First Bad Version
- Leetcode278. First Bad Version
- leetcode278. First Bad Version
- LeetCode278. First Bad Version(二分)
- LeetCode278 find the first bad version
- LeetCode278——First Bad Version(二分查找+一个注意点)
- leetcode278.First Bad Version 关于有符号数加法溢出的错误
- [刷题]First Bad Version
- first bad version
- First Bad Version
- [leetcode]First Bad Version
- First Bad Version
- LeetCode First Bad Version
- [leetcode] First Bad Version
- 278 First Bad Version
- 【JLOI 2011】飞行路线 SPFA+分层图
- 【NOIP模拟】排序
- Windows和Mac下安装Beautiful Soup
- tag_on_failure => [] # prevent default _grokparsefailure tag on real records
- Unity3D面试和笔试题
- LeetCode278. First Bad Version
- BootStrap总结
- QThreadPool类和QtConcurrent命名空间
- ECSHOP-判断产品属性
- 记一次有趣的bug查找
- 处理大并发之一 对异步非阻塞的理解
- 搭建Ionic应用框架
- 处理大并发之二 对epoll的理解,epoll客户端服务端代码
- 二叉树的深度