330. 按要求补齐数组

简介: 330. 按要求补齐数组

@TOC


前言

给定一个已排序的正整数数组 nums ,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums 中某几个数字的和来表示。

请返回 满足上述要求的最少需要补充的数字个数 。

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

解题思路

先给数组排序
range代表已经凑出来的数
如果range+1<arr[i],证明还缺数
那么我们只需在range的基础上加一个range+1,直到凑出arr[i]

如果已经凑出arr[i],则在range上加上arr[i]

如果已经遍历完arr,还没有凑出aim,
则不断在range的基础上加range+1,直到凑出aim

代码

class Solution {
    public int minPatches(int[] arr, int aim) {
        int ans=0;
        long range=0;
        Arrays.sort(arr);
        for(int i=0;i<arr.length;i++){
            //要求没被满足
            while(arr[i]-1>range){
                range+=range+1;
                ans++;
                if(range>=aim){
                    return ans;
                }
            }
            range+=arr[i];
            if(range>=aim){
                return ans;
            }
        }
        while(range+1<=aim){
            range+=range+1;
            ans++;
        }
        return ans;
    }
}
相关文章
|
11月前
|
TensorFlow 算法框架/工具 Swift
魔搭的notebook再次打开时swift导入失败
每次重新打开Notebook时,系统会显示一系列警告和错误信息。主要问题是当前安装的Keras版本为Keras 3,而Transformers库尚不支持该版本。解决方法是安装与Transformers兼容的`tf-keras`包,命令为`pip install tf-keras`,但pip后仍然报错
|
11月前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
224 9
|
人工智能 物联网 Linux
从端到云-全面讲解物联网全栈开发之道
万物互联的时代即将到来,互联网作为当今最为火热的方向之一,无数开发者沉迷其中,那么从事物联网开发需要哪些知识储备呢?在本次分享中,来自创客学院的刘正道老师从物联网就业与岗位分析、物联网与嵌入式、物联网行业解决方案、物联网课程体系四部分全面讲解物联网全栈开发之道,带你走向物联网开发世界。
7176 0
websphere7.0异常:SRVE0255E: 尚未定义要处理 /wcm 的 Web 组/虚拟主机
websphere7.0异常:SRVE0255E: 尚未定义要处理 /wcm 的 Web 组/虚拟主机
1214 0
|
存储 安全 固态存储
阿里云aca考试通过率以及试题
不同于阿里云认证的其他考试,阿里云aca考试科目非常多,难度自然是比较高的,那么阿里云aca考试通过率怎么样呢?接下来为我们详细介绍阿里云aca考试通过率以及阿里云aca考试试题。
1342 0
阿里云aca考试通过率以及试题
|
存储 缓存 运维
高并发,你真的理解透彻了吗?
高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在...
377 0
|
弹性计算 应用服务中间件
阿里云服务器备案服务码申请图文教程以及常见问答解答
一台阿里云服务器最多可以申请5个备案服务码,备案服务码在备案时可用于验证,阿小云来详细说下阿里云服务器备案服务码申请流程
3656 0
阿里云服务器备案服务码申请图文教程以及常见问答解答
|
弹性计算 应用服务中间件
关于阿里云服务器中国香港地域是否稳定及速度快慢现身说法
阿里云香港服务器稳定吗?中国香港地域的云服务器速度怎么样?新手站长现身说法
967 0
关于阿里云服务器中国香港地域是否稳定及速度快慢现身说法
|
消息中间件 云安全 人工智能
前沿·探索·想象力,今年的云栖大会有啥不一样?
足足四天,两场主论坛,上百场分论坛,四大场馆会展一体,打造“云栖数字谷”,再加码互动探展沉浸体验,诚意满满,惊喜无限。
前沿·探索·想象力,今年的云栖大会有啥不一样?
|
开发框架 网络协议 .NET
云服务器IIS新建站点及绑定域名图文教程
云服务器IIS新建站点及绑定域名图文教程
1193 0
云服务器IIS新建站点及绑定域名图文教程