当前位置:网站首页>力扣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;
}
边栏推荐
- SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
- 七夕来袭!还要做CDH数据迁移怎么办?来看看DistCp
- SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
- 012年通过修补_sss_提高扩散模型效率
- How to write a blog with Golang - Milu.blog development summary
- 一张图看懂 SQL 的各种 join 用法!
- Student Information Management System (first time...)
- 化繁为简!阿里新产亿级流量系统设计核心原理高级笔记(终极版)
- Leetcode刷题——623. 在二叉树中增加一行
- 工程设备在线监测管理系统自动预警功能
猜你喜欢
GPU-CUDA-图形渲染分析
脱光衣服待着就能减肥,当真有这好事?
Machine Learning - Ensemble Learning
张朝阳对话俞敏洪:一边是手推物理公式,一边是古诗信手拈来
金融业“限薪令”出台/ 软银出售过半阿里持仓/ DeepMind新实验室成立... 今日更多新鲜事在此...
DocuWare平台——文档管理的内容服务和工作流自动化的平台详细介绍(下)
智能算力的枢纽如何构建?中国云都的淮海智算中心打了个样
TiDB 6.0 Placement Rules In SQL 使用实践
RT - Thread record (a, RT, RT Thread version - Thread Studio development environment and cooperate CubeMX quick-and-dirty)
机器学习——集成学习
随机推荐
Latex如何控制表格的宽度和高度
图像分割模型——segmentation_models_pytorch和albumentations 组合实现多类别分割
用KUSTO查询语句(KQL)在Azure Data Explorer Database上查询LOG实战
Opencv算术操作
大佬们 我是新手,我根据文档用flinksql 写个简单的用户访问量的count 但是执行一次就结束
金融业“限薪令”出台/ 软银出售过半阿里持仓/ DeepMind新实验室成立... 今日更多新鲜事在此...
Android development with Kotlin programming language II Conditional control
DocuWare平台——文档管理的内容服务和工作流自动化的平台详细介绍(下)
SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
A small test of basic grammar, Go lang1.18 introductory refining tutorial, from Bai Ding to Hongru, basic grammar of go lang and the use of variables EP02
shell编程流程控制练习
双因子与多因子身份验证有什么区别?
nyoj754 黑心医生 结构体优先队列
What are the standards for electrical engineering
trie树模板
数据可视化(一)
Header file search rules when compiling with GCC
flutter 服务器返回数据判断是否为空
UDP communication
字节一面:TCP 和 UDP 可以使用同一个端口吗?