Hard
Given a positive integer n, in one operation you may replace n by n / 2 if it is even, or by n + 1 or n - 1 if it is odd. Return the minimum number of operations needed for n to become 1.
Input: n = 8 Output: 3 Explanation: 8 -> 4 -> 2 -> 1.
Input: n = 7 Output: 4 Explanation: 7 -> 8 -> 4 -> 2 -> 1.
Input: n = 1 Output: 0