62 贪心算法按要求补齐数组

给定一个已经排序的正整数数组nums,和一个正整数n,从1,n取件中选取任意个数字到nums中,使得1,n区间内的任何数字都可以用nums中某几个数字的来表示,请输出满足上述条件的最少需要补充的数字个数。

问题分析:该题让找出任何数字都可以组成n,且数组时排序的,我们假设前一个数字所能组成的数字范围是1,total,那么加上一个数numsk,则范围变为1,total并上nums\[k,numsk+total],如果numsk<total,则直接可以构成1,nums\[k+total]这个范围,则表示使用nums数组是连续的,不需要添加新的数字,如果不可以,表明numsk已经断开了连接,需要添加total+1这个数字,使得范围变为1,2\*toal+1;

java 复制代码
public int complement(int []nums,int n)
{
int count=0;
int total=0;
int k=0;
while(total<n)
{
if(total+1=>nums[k])
{
total=nums[k]+total;
}else
{
total+=total+1;
count++;
}
k++;
}
​​​​​​​return count;
}
相关推荐
大侠归来1 小时前
C 语言 | 在函数中操作数组
c语言·c++·算法
怕浪猫6 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
朝朝辞暮i7 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
7yewh7 小时前
SLAM 三维空间刚体运动(2)
数据结构·人工智能·机器人·嵌入式·slam
Evand J8 小时前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
leikooo8 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
weixin_307779139 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
Ivanqhz9 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
朝朝辞暮i9 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
沙漠之主10 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++