First Bad Version
Understand how to identify the first bad version in a sequence of software releases using modified binary search. This lesson guides you through minimizing API checks to quickly pinpoint the critical version causing failures, enhancing problem-solving skills for coding interviews.
We'll cover the following...
Statement
You are managing a product development team, and the latest release has failed quality checks. Because each version is built on top of the previous one, once a version is bad, every version after it is also bad.
You are given an array of n versions
You have access to an API isBadVersion(version) that returns TRUE if a given version is bad.
Your task is to find the first bad version while minimizing the number of calls to this API.
Constraints:
badn
Examples
Understand the problem
Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem:
First Bad Version
Given n = , if version is the first bad version, how many API calls are required to find it?
Figure it out!
We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.
Try it yourself
Implement your solution in the following coding playground.
''' The self.is_bad_version(version) API is already defined for youwhich returns TRUE if the current version is bad.'''from bad_version import BadVersionclass Solution(BadVersion):def __init__(self, bad):super().__init__(bad)def first_bad_version(self, n):# Replace this placeholder return statement with your codereturn 0