LeetCode 2139. 得到目标值的最少行动次数(贪心)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

你正在玩一个整数游戏。从整数 1 开始,期望得到整数 target 。

在一次行动中,你可以做下述两种操作之一:

  • 递增,将当前整数的值加 1(即, x = x + 1)。
  • 加倍,使当前整数的值翻倍(即,x = 2 * x)。

在整个游戏过程中,你可以使用 递增 操作 任意 次数。
但是只能使用 加倍 操作 至多 maxDoubles 次。

给你两个整数 target 和 maxDoubles ,返回从 1 开始得到 target 需要的最少行动次数

示例 1:
输入:target = 5, maxDoubles = 0
输出:4
解释:一直递增 1 直到得到 target 。示例 2:
输入:target = 19, maxDoubles = 2
输出:7
解释:最初,x = 1 。
递增 3 次,x = 4 。
加倍 1 次,x = 8 。
递增 1 次,x = 9 。
加倍 1 次,x = 18 。
递增 1 次,x = 19 。示例 3:
输入:target = 10, maxDoubles = 4
输出:4
解释:
最初,x = 1 。 
递增 1 次,x = 2 。 
加倍 1 次,x = 4 。 
递增 1 次,x = 5 。 
加倍 1 次,x = 10 。 提示:
1 <= target <= 10^9
0 <= maxDoubles <= 100

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-moves-to-reach-target-score
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 逆向考虑,是偶数的话优先使用 除以 2
class Solution:def minMoves(self, target: int, maxDoubles: int) -> int:ans = 0while target > 1:if target&1 == 1: # 奇数ans += 1target -= 1elif maxDoubles: # 还可以 / 2ans += 1target //= 2maxDoubles -= 1else: # 不能除以 2 了,直接全部 -1ans += target-1breakreturn ans            

32 ms 15 MB Python3


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jquery选中以什么开头的元素

$("[id^percent]").size()^&#xff1a;表示以什么开头$&#xff1a;表示以什么结尾~&#xff1a;表示包含什么id&#xff1a;表示按id选择 转载于:https://www.cnblogs.com/sprinng/p/5044488.html

十、CSS三行代码实现 溢出的文字省略号显示(white-space: nowrap;overflow: hidden;text-overflow: ellipsis;)

4. 溢出的文字省略号显示 4.1 white-space white-space设置或检索对象内文本显示方式。通常我们使用于强制一行显示内容 white-space:normal &#xff1b;默认处理方式white-space:nowrap &#xff1b; 强制在同一行内显示所有文本&#xff0c;直到文本结束或者遭遇br标签对…

html 缩略图点击预览,jQuery图片相册点击缩略图弹出大图预览特效

js代码var img_index 0;var img_src "";$(function() {//计算居中位置var mg_top ((parseInt($(window).height()) - parseInt($(".photo-div").height())) / 2);$(".photo-div").css({"margin-top": "" mg_top "…

LAMP环境安装与apache配置

可以写在一起也可以分开写 sudo apt-get install apache2 php5 sudo apt-get install libapache2-mod-php5 php5-mysql 修改apache2.conf AddType 是与类型表相关的&#xff0c;描述的是扩展名与文件类型之间的关系&#xff0c;如&#xff1a;AddType application/x-x509-ca-ce…

LeetCode 2140. 解决智力问题(动态规划)

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的二维整数数组 questions &#xff0c;其中 questions[i] [pointsi, brainpoweri] 。 这个数组表示一场考试里的一系列题目&#xff0c;你需要 按顺序 &#xff08;也就是从问题 0 开始依次解决&#xff09;&#xff0…

十一、CSS初始化详解

CSS初始化 不同浏览器对有些标签的默认值是不同的&#xff0c;为了消除不同浏览器对HTML文本呈现的差异&#xff0c;照顾浏览器的兼容性&#xff0c;我们需要对CSS初始化。 简单理解&#xff1a;CSS初始化是指重设浏览器的样式。&#xff08;也称为CSS reset&#xff09; 每个…

计算机的起源和历史英语作文,端午节的由来和历史英语作文

端午节的由来和历史英语作文端午节与春节和中秋节并列为中国三大节日。下面是小编分享给大家的端午节的由来和历史英语作文&#xff0c;希望能给您带来帮助&#xff01;端午节的由来和历史英语作文1The Dragon Boat Festival is a lunar holiday, occurring on the fifth day o…

第二十九天-ssh服务重要知识深入浅出讲解

目录概述&#xff1a; 1. SSH简介 2. SSH安全验证方式 3. 安装并测试OpenSSH 4. SSH的密匙 4.1 生成你自己的密匙对 4.2分发公用密匙 5. 配置SSH 5.1 配置客户端的软件 5.2 配置服务端的软件 6. 拷贝文件 6.1 用"scp"拷贝文件 6.2 用"sftp"拷贝文件 6.3 …

LeetCode 2141. 同时运行 N 台电脑的最长时间(二分查找)

文章目录1. 题目2. 解题1. 题目 你有 n 台电脑。给你整数 n 和一个下标从 0 开始的整数数组 batteries &#xff0c;其中第 i 个电池可以让一台电脑 运行 batteries[i] 分钟。 你想使用这些电池让 全部 n 台电脑 同时 运行。 一开始&#xff0c;你可以给每台电脑连接 至多一个…

十二、HTML5新增标签特性详解(audio、video、input)

HTML5 第一天 一、什么是 HTML5 HTML5 的概念与定义 定义&#xff1a;HTML5 定义了 HTML 标准的最新版本&#xff0c;是对 HTML 的第五次重大修改&#xff0c;号称下一代的 HTML两个概念&#xff1a; 是一个新版本的 HTML 语言&#xff0c;定义了新的标签、特性和属性拥有一…

联想新电脑桌面没有计算机,联想电脑没有wifi图标不见了怎么办

1.联想笔记本电脑WiFi图标不见了,怎么回事吧,试了很多方法一、无线网卡开关未打开&#xff1b;1、查看周边有没有手动百机械开关&#xff0c;一般在前面板&#xff0c;上面标有无线符号。2、按一下Fn无线信号键(度F几中的一个)找打无线WIFI3、打开控制机板&#xff0c;右上角查…

Spring与Oauth2整合示例 spring-oauth-server

原文地址:http://www.oschina.net/p/spring-oauth-server?fromerrvpTctDBF转载于:https://www.cnblogs.com/longshiyVip/p/5052657.html

十三、CSS 3新特性详解(一)——属性、结构伪类、伪元素选择器,nth-child与nth-of-type区别,2D rotate,calc函数、滤镜filter、过渡transition

七、CSS3 属性选择器(上) 什么是 CSS3 在 CSS2 的基础上拓展、新增的样式 CSS3 发展现状 移动端支持优于 PC 端CSS3 目前还草案&#xff0c;在不断改进中CSS3 相对 H5&#xff0c;应用非常广泛 属性选择器列表 属性选择器代码演示 &#xff08;1&#xff09;E[att] 选择具有…

信息的表示和处理

文章目录1. 信息存储2. 整数的表示learn from 《深入理解计算机系统》 1. 信息存储 大多数计算机&#xff0c;一字节&#xff08;最小的寻址单元&#xff09; byte 8 bits 位 C语言中一个指针的值&#xff08;无论它指向一个整数、一个结构或是某个其他程序对象&#xff09;…

计算机等级考试试题在线测试,计算机等级考试上机练习题.pdf

计算机等级考试上机练习题一、程序设计题浙江省计算机等级考试(二级VB )上机测试的程序设计题&#xff0c;从2002 年秋季开始&#xff0c;其题型及考试要求都有较大变化。要求考生在老考生目录中&#xff0c;按照题目要求&#xff0c;自己新建一工程文件Design.Vbp &#xff0c…

十一、MySQL视图学习笔记(详解)

视图 含义&#xff1a;理解成一张虚拟的表&#xff0c;和普通表一样使用 mysql5.1版本出现的新特性&#xff0c;是通过表动态生成的数据 比如&#xff1a;舞蹈班和普通班级的对比 视图和表的区别&#xff1a; 名称创建语法的关键字使用占用物理空间视图create view增删改查&…

css cursor 的可选值(鼠标的各种样式)

crosshair; 十字准心 The cursor render as a crosshair游标表现为十字准线 cursor: pointer; cursor: hand;写两个是为了照顾IE5&#xff0c;它只认hand。 手 The cursor render as a pointer (a hand) that indicates a link游标以暗示(手指)的形式来表明有一个连…

2021年算法工作总结

2021年5月10日&#xff0c;我转行到互联网做算法工作&#xff0c;离开了工作接近8年的机械设计工作&#xff0c;还是要在这里感谢军哥对我的帮助和指点&#xff01; 换工作后&#xff0c;陆续学了《流畅的python》&#xff0c;FastAPI框架学了点皮毛&#xff0c;python web 编…

学硕计算机考296算高分么,考研总分是多少算高分?考研340分是什么水平?

原标题&#xff1a;考研总分是多少算高分?考研340分是什么水平?每个考研的学生都想考一个高分&#xff0c;分数越高代表录取的希望越大&#xff0c;但是考研达到多少分算高分呢?有没有衡量考研分数的标准呢?小编为大家整理了关于考研总分高分相关的相关信息&#xff0c;一起…

HDU 4117 GRE Words

这道题不难想到这样的dp。 dp[字符串si] 以si为结尾的最大总权值。 dp[si] max(dp[sj]) &#xff0c;1.j < i&#xff0c;2.sj是si的子串。 对于第二个条件&#xff0c;是一个多模版串匹配的问题&#xff0c;可以用AC自动机。 预先O(m)把AC自动机建好&#xff0c;然后动态…