zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【下载插件(LCS_01-JAVA)】

2023-09-27 14:29:28 时间

下载插件(LCS_01-JAVA)

小扣打算给自己的 VS code 安装使用插件,初始状态下带宽每分钟可以完成 1 个插件的下载。假定每分钟选择以下两种策略之一:

使用当前带宽下载插件
将带宽加倍(下载插件数量随之加倍)
请返回小扣完成下载 n 个插件最少需要多少分钟。

注意:实际的下载的插件数量可以超过 n 个

示例 1:

输入:n = 2

输出:2

解释:
以下两个方案,都能实现 2 分钟内下载 2 个插件

方案一:第一分钟带宽加倍,带宽可每分钟下载 2 个插件;第二分钟下载 2 个插件
方案二:第一分钟下载 1 个插件,第二分钟下载 1 个插件

public class LC272_lcs_01_leastMinutes {
    //贪心
    public static int leastMinutes(int n) {
        int speed = 1;
        int ans = 0;
        while (speed < n) {
            speed = speed << 1;
            ans++;
        }
        return ans + 1;
    }

    public static void main(String[] args) {
        System.out.println(leastMinutes(2));
    }

}