java.lang.Object
g2101_2200.s2139_minimum_moves_to_reach_target_score.Solution

public class Solution extends Object
2139 - Minimum Moves to Reach Target Score\. Medium You are playing a game with integers. You start with the integer `1` and you want to reach the integer `target`. In one move, you can either: * **Increment** the current integer by one (i.e., `x = x + 1`). * **Double** the current integer (i.e., `x = 2 * x`). You can use the **increment** operation **any** number of times, however, you can only use the **double** operation **at most** `maxDoubles` times. Given the two integers `target` and `maxDoubles`, return _the minimum number of moves needed to reach_ `target` _starting with_ `1`. **Example 1:** **Input:** target = 5, maxDoubles = 0 **Output:** 4 **Explanation:** Keep incrementing by 1 until you reach target. **Example 2:** **Input:** target = 19, maxDoubles = 2 **Output:** 7 **Explanation:** Initially, x = 1 Increment 3 times so x = 4 Double once so x = 8 Increment once so x = 9 Double again so x = 18 Increment once so x = 19 **Example 3:** **Input:** target = 10, maxDoubles = 4 **Output:** 4 **Explanation:** Initially, x = 1 Increment once so x = 2 Double once so x = 4 Increment once so x = 5 Double again so x = 10 **Constraints:** * 1 <= target <= 109 * `0 <= maxDoubles <= 100`
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • minMoves

      public int minMoves(int target, int maxDoubles)