leetcode--278. First Bad Version
来源:互联网 发布:分布式关系型数据库 编辑:程序博客网 时间:2024/06/05 10:36
题目:
278 First Bad Version:
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.
C++实现:
// Forward declaration of isBadVersion API.bool isBadVersion(int version);class Solution {public: int firstBadVersion(int n) { //search range begin~end int begin = 1; int end = n; int badVersion = -1; int num = int(log(float(n))/log(2.0)) + 2;//iterator number if (isBadVersion(begin)) {return begin;}//for no bad version if (!(isBadVersion(end))) {return -1;}//for no good version for (int i=1; i<=num; i++) { //起始点是不是bad version if (isBadVersion(begin+1)) { badVersion = begin+1; break; } //结尾处是不是good version if ((!(isBadVersion(end-1)))) { badVersion = end; break; } //二分法缩小范围 if (isBadVersion(int(begin/2+end/2))) { end = int(begin/2+end/2); } else { begin = int(begin/2+end/2); } } return badVersion; }};
0 0
- 278. First Bad Version LeetCode
- LeetCode 278. First Bad Version
- 【LeetCode】278. First Bad Version
- Leetcode 278. First Bad Version
- leetcode 278. First Bad Version
- LeetCode 278. First Bad Version
- LeetCode *** 278. First Bad Version
- [leetcode] 278. First Bad Version
- LeetCode 278. First Bad Version
- leetcode-278. First Bad Version
- LeetCode 278. First Bad Version
- [Leetcode] 278. First Bad Version
- Leetcode 278. First Bad Version
- [leetcode]278. First Bad Version
- LeetCode 278. First Bad Version
- Leetcode 278. First Bad Version
- LeetCode-278.First Bad Version
- LeetCode - 278. First Bad Version
- 编程之美 - 重建二叉树
- IO(二)
- Renovace :一款基于Retrofit & RxJava 实现简单易用的网络请求框架
- 蓝桥杯最大乘积
- Android 小项目之--CheckBox<又>计算器 (附源码)
- leetcode--278. First Bad Version
- Java开发工具_Eclipse中写跳高接口抽象动物类及具体动物子类
- asd
- Cocos2d-jsb和原生环境交互的坑(112.74.196.136)
- Spring-amqp 1.6.1 配置生产者与消费者及遇到的问题与解决
- 过滤器Filter--编码转换案例
- 将Opencv2的Mat类型数据显示到MFC窗口上
- 树莓派网线直连
- ubuntu下文本编辑器VI[转]