Leetcode 第278题 First Bad Version
来源:互联网 发布:中卫云计算基地 编辑:程序博客网 时间:2024/04/29 03:43
题目: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.
思路:
- 用二分法来解决这道题目。
- 先判断中间的值是否为bad;如果是,那么让high=mid-1;如果不是让low=mid+1
代码:
- C++:
bool isBadVersion(int version);class Solution {public: int firstBadVersion(int n) { int low=1; int high=n; int flag=0; while(low<high) { flag=low+(high-low)/2; if(isBadVersion(flag)) { high=flag; } else { low=flag+1; } } return low; }};
0 0
- 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算法第2篇:278First Bad Version
- [leetcode]First Bad Version
- LeetCode First Bad Version
- [leetcode] First Bad Version
- Java中的引用
- error TRK0005: Failed to locate: "CL.exe"
- 剑指Offer刷题(4)
- python相关问题汇总
- 从头开始swift2.0 仿乐乐医项目(五)上下拉刷新加载
- Leetcode 第278题 First Bad Version
- 芒果iOS开发之高级面试题二
- Supporting Multiple Screens
- 华为机试day2
- 求连续区间最大值的几种较为低效算法
- 使用UIImageView展现来自网络的图片
- git rebase
- 一起talk C栗子吧(第八十三回:C语言实例--进程间通信概述)
- Web服务器工作原理概述