```
func integerReplacement(n int) int {
res := 0
for n > 1 {
if n%2 == 0 {
n /= 2
} else if (n + 1) % 4 == 0 && n != 3 {
n++
} else {
n--
}
res++
}
return res
}
```