330. 按要求补齐数组
难度:困难
给定一个已排序的正整数数组 nums和一个正整数 *n,从 [1, n]
区间内选取任意个数字补充到 *nums 中,使得 [1, n]
区间内的任何数字都可以用 nums 中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。
示例 1:
1 | 输入: nums = [1,3], n = 6 |
示例 2:
1 | 输入: nums = [1,5,10], n = 20 |
示例 3:
1 | 输入: nums = [1,2,2], n = 5 |
贪心
对于正整数 x
,如果区间 [1,x-1]
内的所有数字都已经被覆盖,且 x
在数组中,则区间 [1,2x-1]
内的所有数字也都被覆盖。
1 | class Solution { |
参考文献
1 | 作者:LeetCode-Solution |