题目:在显示着数字 startValue的坏计算器上,我们可以执行以下两种操作:
·双倍(Double):将显示屏上的数字乘2;
·递减(Decrement):将显示屏上的数字减1.
给定两个整数 startValue 和 target。返回显示数字target所需的最小操作数。
示例1:
输入: startValue = 2,target =3
输出:2
解释: 先进行双倍运算,然后再进行递减运算{2->4-> 3},
解法:正难则反+贪心
            
            
              java
              
              
            
          
          public class Solution {
    public int brokenCalc(int startValue,int target)
    {
        int ret=0;
        while (target>startValue)
        {
            if(target%2==0)target/=2;
            else target+=1;
            ret++;
        }
        return ret+startValue-target;
    }
    public static void main(String[] args) {
        Solution solution=new Solution();
        int []startValue={2};
        int []target={3};
        System.out.println(solution.brokenCalc(startValue[0],target[0]));
    }
}