74.First Bad Version-第一个错误的代码版本(中等题)
来源:互联网 发布:小美工作室淘宝真假 编辑:程序博客网 时间:2024/06/18 02:29
第一个错误的代码版本
题目
代码库的版本号是从 1 到 n 的整数。某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错。请找出第一个错误的版本号。
你可以通过 isBadVersion 的接口来判断版本号 version 是否在单元测试中出错,具体接口详情和调用方法请见代码的注释部分。注意事项
请阅读上述代码,对于不同的语言获取正确的调用 isBadVersion 的方法,比如java的调用方式是SVNRepo.isBadVersion(v)样例
给出 n=5
调用isBadVersion(3),得到false
调用isBadVersion(5),得到true
调用isBadVersion(4),得到true
此时我们可以断定4是第一个错误的版本号挑战
调用 isBadVersion 的次数越少越好
题解
还是二分法
/** * public class SVNRepo { * public static boolean isBadVersion(int k); * } * you can use SVNRepo.isBadVersion(k) to judge whether * the kth code version is bad or not.*/class Solution { /** * @param n: An integers. * @return: An integer which is the first bad version. */ public int findFirstBadVersion(int n) { int left = 1; int right = n; while(left<=right) { int mid = (left+right)/2; if(SVNRepo.isBadVersion(mid)) { right = mid-1; } else { left = mid+1; } } return left; }}
Last Update 2016.10.2
0 0
- 74.First Bad Version-第一个错误的代码版本(中等题)
- [Lintcode]First Bad Version 第一个错误的代码版本
- 278. First Bad Version (查找第一个错误版本)
- First Bad Version 第一个坏版本
- 278. First Bad Version-LeetCode(查找第一个最坏版本)
- leetcode First Bad Version 第一个坏版本
- leetcode_278. First Bad Version 寻找第一个坏的版本,二分查找法
- LeetCode 278 First Bad Version(第一个坏版本)(二分法)(*)
- leetcode 278. First Bad Version-第一个坏版本|二分查找
- 189.First Missing Positive-丢失的第一个正整数(中等题)
- LeetCode OJ 之 First Bad Version (第一个“坏”版本号)
- LintCode-第一个错误的代码版本
- LintCode 第一个错误的代码版本
- LintCode : 第一个错误的代码版本
- 第一个错误的代码版本
- LintCode : 第一个错误的代码版本
- 第一个错误的代码版本
- 第一个错误的代码版本
- Glide详细解析
- Java进阶之hibernate中cascade与inverse
- coderforces A. Broken Clock ——水题
- 主机和路由器有MAC地址原因
- ioc 与 DI | 区别简介
- 74.First Bad Version-第一个错误的代码版本(中等题)
- HDU5908【模拟】
- coderforces B. Verse Pattern 字符处理
- windows 7 Oracle 11g安装图解
- 第二章
- 浅谈MVC之composer加载第三方类库
- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) -- C. Destroying Array (并查集)
- HDU 5833
- 赛码网练习——黑默丁格的炮台