Search⌘ K
AI Features

Solution: First Bad Version

Understand how to apply a modified binary search to locate the first bad software version in a sorted sequence. This lesson teaches you to minimize API calls by checking midpoints strategically, achieving a time-efficient O(log n) solution without extra space. Develop skills to optimize search algorithms using problem constraints.

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 ...