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

示例 1:

输入: nums = [1,3], n = 6
输出: 1
解释:
根据 nums 里现有的组合 [1], [3], [1,3],可以得出 1, 3, 4。现在如果我们将 2 添加到 nums 中, 组合变为: [1], [2], [3], [1,3], [2,3], [1,2,3]。其和可以表示数字 1, 2, 3, 4, 5, 6,能够覆盖 [1, 6] 区间里所有的数。所以我们最少需要添加一个数字。

示例 2:

输入: nums = [1,5,10], n = 20
输出: 2
解释: 我们需要添加 [2, 4]。

示例 3:

输入: nums = [1,2,2], n = 5
输出: 0

class Solution {
public:
    int minPatches(vector<int>& nums, int n) {
        long miss = 1, res = 0, i = 0;
        while (miss <= n) {
            if (i < nums.size() && nums[i] <= miss) {
                miss += nums[i++];
            } else {
                miss += miss;
                ++res;
            }
        }
        return res;
    }
};

330.按要求补齐数组相关推荐

  1. Java实现 LeetCode 330 按要求补齐数组

    330. 按要求补齐数组 给定一个已排序的正整数数组 nums,和一个正整数 n .从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums ...

  2. leetcode 330. 按要求补齐数组(贪心算法)

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

  3. LeetCode 330. 按要求补齐数组(贪心)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个已排序的正整数数组 nums,和一个正整数 n . 从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数 ...

  4. 330. 按要求补齐数组

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

  5. 如何表示数组所有数都不等于一个数_每日算法系列【LeetCode 330】按要求补齐数组...

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

  6. 【数据结构与算法】之深入解析“按要求补齐数组”的求解思路与算法示例

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

  7. 贪心 - 按要求补齐数组

    题目链接 当[1, x]的数字全部存在时,可以得到[1, 2x-1]的数字. 贪心的枚举x,如果x存在就扩展成新的范围,如果不存在就补上对应的x. class Solution {public:int ...

  8. leetcode330. 按要求补齐数组 顶级难度玄学贪心

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

  9. python列表的长度_Python 列表/数组(list)长度不足自动补零(补齐元素)

    Python 列表/数组(list)长度不足自动补零(补齐元素) 背景: python3.8 一个三元组列表,需要拆成三个独立列表,然后每个列表长度必须满足5位 如:li = [(0, 15, 33) ...

  10. 个人永久性免费-Excel催化剂功能第22波-Excel文件类型、密码批量修改,补齐PowerQuery短板...

    Excel的多工作薄.多工作表批量合并功能,Excel用户很多这方面的使用场景,也促使了各大Excel各大插件们都在此功能上有所开发,体验程度不一,但总体能够满足大多数的应用场景,本人之前也开发个单独 ...

最新文章

  1. android 启动服务权限,android – 当我尝试启动服务时权限被拒绝
  2. bzoj 1028: [JSOI2007]麻将
  3. 科学家风采 | 杜小勇、周傲英、王万良获批首批国家级虚拟教研室建设试点项目!...
  4. SQL注入漏洞(原理;网页注入)
  5. 使用 v-cloak 防止页面加载时出现 vuejs 的变量名
  6. python 直方图每个bin中的值_python – 如何获取直方图bin中的数据
  7. 利用C++的stringstream对各种数据类型转换
  8. 如何使用Excel的数据去查询数据库?
  9. 基于STM32cubemx的STM32F107vct6的代码生成,实验四串口与DMA
  10. Robo 3T下载安装和使用
  11. css 设置层级关系,css层级关系怎么设置
  12. 【有利可图网】PS实战教程26:1分钟搞定抠头发丝,超简单!
  13. uva 815 Flooded!
  14. 亲测,超实用Zbrush笔刷大合集,腾讯金牌建模师同款
  15. 关于美国安利的真实情况 !!!!!
  16. 电子学会2023年3月青少年软件编程python等级考试试卷(四级)真题,含答案解析
  17. QT 选择文件,另存为文件组件
  18. OutLook中添加、取消送信者禁止
  19. 【7班】【笔记】人体姿态估计与MMPose-卢策吾
  20. C语言实现倒转字符串

热门文章

  1. Use YSlow to know why your web Slow
  2. 你对Redis持久化了解多少?一篇文章让你明白Redis持久化
  3. jquery_EasyUI使用细节注意
  4. iOS9自动布局神器StackView
  5. J2EE 第二阶段项目之JUnit4进行单元测试(五)
  6. MySQL主从复制--mysql-proxy实现MySQL-5.6读写分离
  7. 使用VisualSVN Server搭建SVN版本控制服务器
  8. 配置CACTI监控MySQL数据库状态(2)安装cacti相关软件包
  9. 在.net中使用鼠标手势的讲述
  10. CSDNITeye招贤榜