【LeetCode】278. First Bad Version 解题报告
2018-02-05 12:31
429 查看
【LeetCode】278. First Bad Version 解题报告
标签: LeetCode题目地址:https://leetcode.com/problems/first-bad-version/description/
题目描述:
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.
解题方法
方法一:找出最开始错的版本。
其实就是二分查找,注意题目求的是版本号,而不是调用了多少次isBadVersion函数。
# The isBadVersion API is already defined for you. # @param version, an integer # @return a bool # def isBadVersion(version): class Solution(object): def firstBadVersion(self, n): """ :type n: int :rtype: int """ left = 0 right = n - 1 while left <= right: mid = left + (right - left) / 2 if isBadVersion(mid): right = mid - 1 else: left = mid + 1 return left
日期
2018 年 2 月 4 日相关文章推荐
- leetcode [Nim game解题报告]
- 【LeetCode】Power of Three 解题报告
- [leetcode]50. Pow(x, n)@Java解题报告
- LeetCode 解题报告 Sort List
- Leetcode Word Ladder II 解题报告
- Leetcode 376. Wiggle Subsequence 摇摆序列 解题报告
- LeetCode解题报告-- Count and Say
- [Leetcode] 40. Combination Sum II 解题报告
- leetcode解题报告(27):Reverse Linked List
- [leetcode] 308. Range Sum Query 2D - Mutable 解题报告
- LeetCode:Sqrt(x) 解题报告
- LeetCode: Best Time to Buy and Sell Stock III 解题报告
- [leetcode] 224. Basic Calculator 解题报告
- [Leetcode] 588. Design In-Memory File System 解题报告
- Leetcode 372. Super Pow 快速幂计算 解题报告
- LeetCode: Unique Paths 解题报告
- LeetCode 227. Basic Calculator II 解题报告【python】
- [Leetcode] 408. Valid Word Abbreviation 解题报告
- [leetcode] 187. Repeated DNA Sequences 解题报告
- Leetcode 650. 2 Keys Keyboard 2指键盘 解题报告