贪心算法(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]));
    }
}
相关推荐
xcl092521 小时前
北京24小时自助健身房系统软件开发实战:从架构到部署全流程指南
java·spring boot·架构
一 乐1 天前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
卓怡学长1 天前
w214基于jsp知道特产网
java·intellij-idea
步行cgn1 天前
Spring 注解使用详解
java·spring
一条小小yu1 天前
Spring IoC的理解
java·后端·spring
longlongzihan1 天前
LeetCode 17电话号码的字母组合:回溯算法(DFS)详解
c++·算法·leetcode·深度优先
落魄实习生1 天前
Agent Scope Java 2.x 系列【7】工具使用
java·开发语言·ai
封印师请假去地球钓鱼1 天前
边解边变的问题:从“决策依赖“一词出发
人工智能·算法
旺仔学长 哈哈1 天前
springboot钓鱼爱好者交流平台APP设计与实现
java·spring boot·mysql·充电桩管理系统
今晚打老虎1 天前
c++之提高A(前缀和)(第三课)
数据结构·c++·算法