397 Integer Replacement

1. Question

Given a positive integernand you can do operations as follow:

  1. If n is even, replace n withn/2.

  2. If n is odd, you can replace n with eithern+ 1orn- 1.

What is the minimum number of replacements needed fornto become 1?

Example 1:

Input:
8

Output:
3

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

Example 2:

Input:

7


Output:

4


Explanation:

7 ->8 ->4 ->2 ->1
or
7 ->6 ->3 ->2 ->1

2. Implementation

(1) BFS

3. Time & Space Complexity

BFS: 时间复杂度?, 空间复杂度?

Last updated

Was this helpful?