贪心算法(12))(java)坏了的计算器

题目:在显示着数字 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]));
    }
}
相关推荐
异常君2 分钟前
TCP TIME_WAIT 状态:原理、问题与优化方案
java·linux·tcp/ip
清风~徐~来11 分钟前
【Redis】set 类型
java·数据库·redis
全栈凯哥24 分钟前
JSCH使用SFTP详细教程
java
残*影25 分钟前
Spring 中如何开启事务?
java·后端·spring
@蓝莓果粒茶36 分钟前
LeetCode第245题_最短单词距离III
c语言·c++·笔记·学习·算法·leetcode·c#
于冬恋38 分钟前
Web后端快速入门(Maven)
java·maven
闻闻不会编程1 小时前
704. 二分查找 (力扣)
数据结构·算法·leetcode
AndrewHZ1 小时前
【图像处理基石】立体匹配的经典算法有哪些?
图像处理·算法·计算机视觉·滤波·模式识别·立体匹配
AndrewHZ1 小时前
【图像处理入门】4. 图像增强技术——对比度与亮度的魔法调节
图像处理·算法·计算机视觉·几何变换·图像增强·模式识别
天天摸鱼的java工程师1 小时前
CTO新项目直接上MySQL 8.0,老系统仍是5.7
java·后端·mysql