func minMoves(target int, maxDoubles int) int { if target == 1 { return 0 } if maxDoubles == 0 { return target - 1 } if target%2 == 0 && maxDoubles > 0 { return 1 + minMoves(target>>1, maxDoubles-1) } return 1 + minMoves(target-1, maxDoubles) }
We use cookies in order to offer you the most relevant information. See our Privacy Policy.