当前位置:网站首页>力扣330 按要求补齐数组(贪心)
力扣330 按要求补齐数组(贪心)
2022-08-05 11:07:00 【这代码有点上头】
这道题主要用到了贪心的思想
设想一个情景,我用一堆数能够表示 [1,x-1]的范围的数
那么我将[1,x-1]范围内的数添加一个进来就能够表示x了
但是上面的并不是最优的,再想想,我们不如添加x吧
因为添加x之后,我能够表示数的范围增大了,增大至[1,2x-1]
而你将[1,x-1]范围内的数添加进来达不到这个效果
所以我们秉承这个思想
我们去遍历nums数组,如果该下标的数<=x 那么我们直接扩大x,表示可表示的范围增大了
如果该下标的数超过了x,我们应该怎么办呢?
没错就是将x加入数组,x->2*x
表示我们可表示的范围增加值2x-1
直到2x>这个数
这样才能保证我中间的数都能连续得被表示
代码附上:
int minPatches(vector<int>& nums, int n) {
int res=0;
long long x=1;
int index=0;
int len=nums.size();
while(x<=n){
if(index<len&&nums[index]<=x){
x+=nums[index];
index++;
}
else{
x<<=1;
res++;
}
}
return res;
}
边栏推荐
- nyoj757 期末考试 (优先队列)
- 张朝阳对话俞敏洪:一边是手推物理公式,一边是古诗信手拈来
- 如何测试一下现场的备机失败,转发主机的场景?
- Nature:猪死亡1小时后,器官再次运转
- Machine Learning - Ensemble Learning
- 使用Windbg过程中两个使用细节分享
- 字节一面:TCP 和 UDP 可以使用同一个端口吗?
- R语言使用yardstick包的pr_curve函数评估多分类(Multiclass)模型的性能、查看模型在多分类每个分类上的ROC曲线(precision(精准率),R代表的是recall(召回率)
- Student Information Management System (first time...)
- 微信小程序标题栏封装
猜你喜欢
Dynamics 365Online PDF导出及打印
【深度学习】mmclassification mmcls 实战多标签分类任务教程,分类任务
硅谷来信:快速行动,Facebook、Quora等成功的“神器”!
5G NR 系统消息
.NET in-depth analysis of the LINQ framework (6: LINQ execution expressions)
一张图看懂 SQL 的各种 join 用法!
Machine Learning - Ensemble Learning
使用Windbg过程中两个使用细节分享
巴比特 | 元宇宙每日必读:中国1775万件数字藏品分析报告显示,85%的已发行数藏开通了转赠功能...
反射修改jsessionid实现Session共享
随机推荐
power failure...Trouble trouble trouble!!!
时间格式2020-01-13T16:00:00.000Z中的T和Z分别表示什么,如何处理
60行从零开始自己动手写FutureTask是什么体验?
学生信息管理系统(第一次.....)
如何测试一下现场的备机失败,转发主机的场景?
Integration testing of software testing
华为分析&联运活动,助您提升游戏总体付费
Chapter 4: In the activiti process, variable transmission and acquisition process variables, setting and acquiring multiple process variables, setting and acquiring local process variables "recommende
R语言使用yardstick包的pr_curve函数评估多分类(Multiclass)模型的性能、查看模型在多分类每个分类上的ROC曲线(precision(精准率),R代表的是recall(召回率)
朴素贝叶斯
UDP通信
自定义过滤器和拦截器实现ThreadLocal线程封闭
Linux:记一次CentOS7安装MySQL8(博客合集)
Support Vector Machine SVM
并非富人专属,一文让你对NFT改观
MMDetection实战:MMDetection训练与测试
大佬们 我是新手,我根据文档用flinksql 写个简单的用户访问量的count 但是执行一次就结束
Can't get in to ask questions.I want to ask you a question about the return value (traversal of the graph), please give Xiaobai an answer.
[Android] How to use RecycleView in Kotlin project
The fuse: OAuth 2.0 four authorized login methods must read