当前位置: 首页 > article >正文

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

题目:在显示着数字 startValue的坏计算器上,我们可以执行以下两种操作:
·双倍(Double):将显示屏上的数字乘2;

·递减(Decrement):将显示屏上的数字减1.
 给定两个整数 startValue 和 target。返回显示数字target所需的最小操作数。
示例1:   
输入: startValue = 2,target =3

输出:2
解释: 先进行双倍运算,然后再进行递减运算{2->4-> 3},

解法:正难则反+贪心

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]));
    }
}


http://www.kler.cn/a/610437.html

相关文章:

  • 基于BERT的序列到序列(Seq2Seq)模型,生成文本摘要或标题
  • 系统分析师常考题目《论面向对象分析方法及其应用》
  • 类和对象cpp
  • 基于springboot+vue的北部湾地区助农平台
  • 深入解析 JVM 内存区域及核心概念
  • python中的面对对象
  • 鸿蒙开发:openCustomDialog关闭指定Dialog
  • docker中间件部署
  • 基于Flask的智能天气助手系统设计
  • wms窗口/多窗口/自由窗口systemui侧边栏手势退出实战-学员作业
  • 往期项目shader着色器实践效果应用合集
  • 【大模型基础_毛玉仁】3.4 Prompt 技巧
  • 31天Python入门——第15天:日志记录
  • Java.util包之Java.util.List接口
  • LeetCode算法题(Go语言实现)_12
  • Rust 与 FFmpeg 实现视频水印添加:技术解析与应用实践
  • WPF Binding Path与不带Path的区别
  • 华鲲振宇天工TG225 B1国产服务器试装openEuler22.03 -SP4系统
  • 存储服务器是指什么
  • 深入理解操作系统基础文件I/O:从系统调用到底层实现