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

g0301_0400.s0397_integer_replacement.readme.md Maven / Gradle / Ivy

There is a newer version: 1.37
Show newest version
397\. Integer Replacement

Medium

Given a positive integer `n`, you can apply one of the following operations:

1.  If `n` is even, replace `n` with `n / 2`.
2.  If `n` is odd, replace `n` with either `n + 1` or `n - 1`.

Return _the minimum number of operations needed for `n` to become `1`_.

**Example 1:**

**Input:** n = 8

**Output:** 3

**Explanation:** 8 -> 4 -> 2 -> 1

**Example 2:**

**Input:** n = 7

**Output:** 4

**Explanation:** 7 -> 8 -> 4 -> 2 -> 1 or 7 -> 6 -> 3 -> 2 -> 1

**Example 3:**

**Input:** n = 4

**Output:** 2

**Constraints:**

*   1 <= n <= 231 - 1




© 2015 - 2024 Weber Informatics LLC | Privacy Policy