// Given a sorted positive integer array nums and an integer n,
// add/patch elements to the array such that any number in range [1, n]
// inclusive can be formed by the sum of some elements in the array.
// Return the minimum number of patches required.
public static int minPatches(int[] nums, int n) {
long miss = 1;
int added = 0, i = 0;
while (miss <= n) {
if (i < nums.length && nums[i] <= miss) {
miss += nums[i++];
} else {
added++;
miss += miss;
}
}
return added;
}
给定一个非递减数组,以及n,求最小添加几个元素能保证通过元素组合覆盖到1至n任意数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 相关链接:iOS中集成ijkplayer视频直播框架 1.打包IJKMediaFramework.framewor...
- 阅读时间:2016年6月23日,19:50-21:30;1小时40分钟; 阅读书本:《王阳明大传:知行合一的心学智...