Search⌘ K
AI Features

Solution: First Bad Version

Explore how to find the first bad software version in a sequence by applying modified binary search. This method helps minimize calls to the isBadVersion API by repeatedly narrowing the search range, improving time complexity from linear to logarithmic. Understand the step-by-step implementation and gain the skills to write optimized code that efficiently detects the initial failure point in version histories.

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 [1,2,,n][1, 2, …, n], and your task is to determine the first version in this sequence that is bad—the version that causes all later versions to be bad as well.

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:

  • 11 \leq bad ...