LintCode 74 第一个错误的代码版本
来源:互联网 发布:淘宝卖家规蜜入口 编辑:程序博客网 时间:2024/06/06 03:51
题目:findFirstBadVersion
要求:
代码库的版本号是从 1 到 n 的整数。某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错。请找出第一个错误的版本号。
你可以通过 isBadVersion 的接口来判断版本号 version 是否在单元测试中出错,具体接口详情和调用方法请见代码的注释部分。
样例:
给出 n=5
调用isBadVersion(3),得到false
调用isBadVersion(5),得到true
调用isBadVersion(4),得到true
此时我们可以断定4是第一个错误的版本号
算法要求:
调用 isBadVersion 的次数越少越好
解题思路:
直接上二分查找即可。
算法如下:
int findFirstBadVersion(int n) { // write your code here if (n <= 0) { return 0; } long long left = 0; long long right = n - 1; long long mid = (left + right) / 2; while (left <= right) { bool flag2 = SVNRepo::isBadVersion(mid); if (flag2) { right = mid - 1; mid = (left + right) / 2; } else { left = mid + 1; mid = (left + right) / 2; } } return (int)left; }
0 0
- LintCode-第一个错误的代码版本
- LintCode 第一个错误的代码版本
- LintCode : 第一个错误的代码版本
- LintCode : 第一个错误的代码版本
- LintCode 74-第一个错误的代码版本
- LintCode 74 第一个错误的代码版本
- [Lintcode]First Bad Version 第一个错误的代码版本
- lintcode 74. 第一个错误的代码版本
- Lintcode 第一个错误版本
- 第一个错误的代码版本
- 第一个错误的代码版本
- 第一个错误的代码版本
- 第一个错误的代码版本
- 第一个错误的代码版本
- LintCode : 第一个错误代码的版本
- 74.First Bad Version-第一个错误的代码版本(中等题)
- LintCode-丢失的第一个正整数
- LintCode 丢失的第一个正整数
- 超全整理!Python数据分析知识体系
- 我的Java之路——一 记事本编写Java小程序
- Android存储路径详细说明
- 阿里云centos6.5安装nginx
- # 安装nginx和php5.6
- LintCode 74 第一个错误的代码版本
- Java泛型_自定义泛型类
- BZOJ 4823: [Cqoi2017]老C的方块(最小割)
- 关于jquery的一些小记
- Unity 将相机里看到的 显示到 Image上
- C++复习0.2——运算符重载/继承/多态
- 剑指offer-堆排序
- opencv kmeans
- Redis 启动异常Creating Server TCP listening socket 127.0.0.1:6379: bind: No error