Integer Replacement LeetCode solution in Java

1
class Solution {
2
public int integerReplacement(int n) {
3
return (int) calc(n, 0);
4
}
5

6
public long calc(long n, int i) {
7
if (n == 1) return i;
8
if (n < 1) return 0;
9

10
long a = Long.MAX_VALUE, b = Long.MAX_VALUE, c = Long.MAX_VALUE;
11

12
if (n % 2 == 0) a = calc(n / 2, i + 1);
13
else {
14
b = calc(n - 1, i + 1);
15
c = calc(n + 1, i + 1);
16
}
17
long d = Math.min(a, Math.min(b, c));
18
return d;
19
}
20
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0