题目

小扣打算给自己的 VS code 安装使用插件,初始状态下带宽每分钟可以完成 1 个插件的下载。假定每分钟选择以下两种策略之一:
使用当前带宽下载插件
将带宽加倍(下载插件数量随之加倍)
请返回小扣完成下载 n 个插件最少需要多少分钟。
注意:实际的下载的插件数量可以超过 n 个
示例 1:
输入:n = 2
输出:2
解释:
以下两个方案,都能实现 2 分钟内下载 2 个插件
方案一:第一分钟带宽加倍,带宽可每分钟下载 2 个插件;第二分钟下载 2 个插件
方案二:第一分钟下载 1 个插件,第二分钟下载 1 个插件
示例 2:
输入:n = 4
输出:3
解释:
最少需要 3 分钟可完成 4 个插件的下载,以下是其中一种方案:
第一分钟带宽加倍,带宽可每分钟下载 2 个插件;
第二分钟下载 2 个插件;
第三分钟下载 2 个插件。
提示:
1 <= n <= 10^5
来源:力扣(LeetCode)

解题思路

  题目的做法不难,通常成长类的通关游戏都是先升级各种战斗力然后才和boss决战,在这里也一样,我们可以先升级带宽,然后再计算时间。当然这个需要一个简单的证明,那就是在n比较小的时候,线性结果等价于指数的结果,很显然在这道题中,比如n=1或者2的时候是符合的,当n大于2的时候就更不用说了,指数函数已经能够甩线性函数很远。

class Solution:def leastMinutes(self, n: int) -> int:return math.ceil(math.log2(n))+1

LeetCode简单题之下载插件相关推荐

  1. LeetCode简单题之基于排列构建数组

    题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...

  2. LeetCode简单题之Excel 表中某个范围内的单元格

    题目 Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中: 即单元格的列号 c .用英文字母表中的 字母 标识. 例如,第 1 列用 'A' 表示, ...

  3. LeetCode简单题之增量元素之间的最大差值

    题目 给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 ...

  4. LeetCode简单题之二进制矩阵中的特殊位置

    题目 给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目 . 特殊位置 定义:如果 mat[i][j] == 1 ...

  5. LeetCode简单题之设计 Goal 解析器

    题目 请你设计一个可以解释字符串 command 的 Goal 解析器 .command 由 "G"."()" 和/或 "(al)" 按某种 ...

  6. LeetCode简单题之检查两个字符串数组是否相等

    题目 给你两个字符串数组 word1 和 word2 .如果两个数组表示的字符串相同,返回 true :否则,返回 false . 数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串. ...

  7. LeetCode简单题之找出数组的最大公约数

    题目 给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 . 两个数的 最大公约数 是能够被两个数整除的最大正整数. 示例 1: 输入:nums = [2,5,6,9,10] 输出: ...

  8. LeetCode简单题之排列硬币

    题目 你总共有 n 枚硬币,并计划将它们按阶梯状排列.对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币.阶梯的最后一行 可能 是不完整的. 给你一个数字 n ,计算并返回可形成 完整阶 ...

  9. LeetCode简单题之棒球比赛

    题目 你现在是一场采用特殊赛制棒球比赛的记录员.这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分. 比赛开始时,记录是空白的.你会得到一个记录操作的字符串列表 ops,其中 ops[ ...

最新文章

  1. WEB浏览器兼容(转)
  2. ORACLE DBA的职责
  3. BZOJ1117 [POI2009]救火站Gas 贪心
  4. 第六届 蓝桥杯 省赛 Java B组 牌型总数
  5. c语言输入n个数按大小输出,输入n个整数并输出,用c语言表达
  6. 类似TH养车的电商系统设计思路
  7. slice与substring与substr
  8. ESP8266使用方法
  9. (转)你确定你的交易系统最快?
  10. 倾斜摄影Smart3D建模培训视频 附文档数据下载
  11. PCA主成分分析(原理+例子)
  12. 转转转转转转转转转转转转转转转转转转转转转转转转转
  13. 测试软件能批量转换成pdf吗,三大PDF转换软件对比测评
  14. QT-ico图片的生成
  15. SQL数据库权限禁止授予deny
  16. 概率统计笔记:共轭分布
  17. OpenVas简介与安装
  18. 免费是王道!盘点国外八大知名杀毒软件产品
  19. 【软件测试】思维开拓—用软件测试的思维测试QQ好友是在线或者离线
  20. centos 监视文件变动脚本

热门文章

  1. IDEA设置单个文件、单个包、单个项目的编码格式
  2. 大数据中用到的新的数据类型bigint、decimal、smallint、tinyint
  3. 管理虚拟机的艺术——有备无患
  4. bert [unused*] 特殊符号
  5. ERROR: epmd error for host 192: badarg (unknown POSIX error)
  6. 基于javaGUI的文档识别工具制作
  7. 不是都需要ARM吗?
  8. tensorflow-yolov4实施方法
  9. 图像分类:CVPR2020论文解读
  10. 【laravel7.x中文文档】Redis