leetcode 278: First Bad Version
2015-09-08 08:49
232 查看
First Bad Version
Total Accepted: 1415Total Submissions: 5826
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
nversions
[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
versionis bad. Implement a function to find the first bad version. You should minimize the number of calls to the API.
Credits:
Special thanks to
@jianchao.li.fighter for adding this problem and creating all test cases.
[思路]
其实就是二分查找 有重复, 找下界的问题.
[CODE]
/* 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 low=1, high=n; while(low<high) { int mid=low + (high-low)/2; if(isBadVersion(mid)) { high = mid; } else { low = mid + 1; } } return low; } }
相关文章推荐
- 像专家一样思考,像专家一样实践
- UI:UINavigationController、界面通信
- noip2005 谁拿了最多奖学金 (模拟)
- 学习矢量量化(LVQ)
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- C++条件语句和条件运算符的使用方法讲解
- 编码与解码
- iOS-添加pch文件
- Java获取键盘输入的三种方法
- Android创建自定义键盘
- Fresco 源码分析(四) 后台数据返回到前台的处理
- Air中File类获取地址的研究
- .bat文件和Jar包的生成及运行
- iOS:删除、插入、移动单元格
- Valid Parentheses
- 六大设计原则--开闭原则
- 采用非常规方法(非gprecoverseg) 恢复greenplum数据库
- Android 垂直与水平滚动条:Scrollview与HorizontalScrollView
- Mind-manager之大话设计模式 22章桥接模式
- 微软Win10 Mobile/PC通用版《114查号》功能介绍以及免费下载