All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0201_0300.s0278_first_bad_version.readme.md Maven / Gradle / Ivy

There is a newer version: 1.28
Show newest version
278\. First Bad Version

Easy

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 returns whether `version` is bad. Implement a function to find the first bad version. You should minimize the number of calls to the API.

**Example 1:**

**Input:** n = 5, bad = 4

**Output:** 4

**Explanation:**

    call isBadVersion(3) -> false
    call isBadVersion(5) -> true
    call isBadVersion(4) -> true
    Then 4 is the first bad version. 

**Example 2:**

**Input:** n = 1, bad = 1

**Output:** 1

**Constraints:**

*   1 <= bad <= n <= 231 - 1




© 2015 - 2024 Weber Informatics LLC | Privacy Policy