当前位置:网站首页>330. 按要求补齐数组
330. 按要求补齐数组
2022-07-29 06:05:00 【小卢要刷力扣题】
前言
给定一个已排序的正整数数组 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;
}
}
边栏推荐
- Excerpts from good essays
- 竣达技术 | 适用于”日月元”品牌UPS微信云监控卡
- How to write controller layer code gracefully?
- Analog volume leetcode [normal] 093. Restore IP address
- 游戏资产的革命
- Windows 上 php 7.4 连接 oracle 配置
- 吴恩达老师机器学习课程笔记 00 写在前面
- 王树尧老师运筹学课程笔记 04 线性代数基础
- CVPR2022Oral专题系列(一):低光增强
- Simulation volume leetcode [normal] 061. rotating linked list
猜你喜欢
SSH免密登录-两台虚拟机建立免密通道 双向信任
MVFuseNet:Improving End-to-End Object Detection and Motion Forecasting through Multi-View Fusion of
【flask入门系列】Flask-SQLAlchemy的安装与配置
阿里一面,给了几条SQL,问需要执行几次树搜索操作?
Teacher wangshuyao's notes on operations research course 10 linear programming and simplex method (discussion on detection number and degradation)
leetcode-592:分数加减运算
C language memory stack and heap usage
吴恩达老师机器学习课程笔记 02 单变量线性回归
MutationObserver文档学习
我的创业邻居们
随机推荐
Dbasql interview questions
Thread synchronization - producers and consumers, tortoise and rabbit race, dual thread printing
C language memory stack and heap usage
Can MySQL export tables regularly?
分享一些你代码更好的小建议,流畅编码提搞效率
Teacher Cui Xueting's course notes on optimization theory and methods 00 are written in the front
Etcd principle
如何优雅的写 Controller 层代码?
MySQL:当你CRUD时BufferPool中发生了什么?十张图就能说清楚
ECCV 2022 lightweight model frame Parc net press apple mobilevit code and paper Download
MVFuseNet:Improving End-to-End Object Detection and Motion Forecasting through Multi-View Fusion of
ECCV 2022丨轻量级模型架ParC-Net 力压苹果MobileViT代码和论文下载
Teacher wangshuyao wrote the notes of operations research course 00 in the front
模拟卷Leetcode【普通】172. 阶乘后的零
吴恩达老师机器学习课程笔记 04 多元线性回归
How to write controller layer code gracefully?
王树尧老师运筹学课程笔记 09 线性规划与单纯形法(单纯形表的应用)
Security in quantum machine learning
Teacher wangshuyao's notes on operations research 01 guidance and introduction
SSH password free login - two virtual machines establish password free channel two-way trust