LeetCode-330.Patching Array
Posted LiuWei_Find
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode-330.Patching Array相关的知识,希望对你有一定的参考价值。
/** * nums的所有元素,假设最大能连续形成[1,sum] 当增加一个element的时候 * 会变成 [1,sum] [element+1,sum+element]两个区间,这两个区间有以下可能性: * 1 相交: element < sum * 2 连续: element = sum 是保持连续,并使得加的元素最少的最大值 * 3 相离: element > sum 大于sum就不连续了 * */ private int minPatches(int[] nums, int n) { long sum = 1;//1 是必需得有,因为要形成[1,n]的分布,肯定得有1,如果nums没有,就要把其加上 int index= 0; int add = 0; while(sum <= n ){ if(index < nums.length && nums[index] <=sum){ sum += nums[index]; index++; } else{ sum += sum; add++; } } return add; }
以上是关于LeetCode-330.Patching Array的主要内容,如果未能解决你的问题,请参考以下文章
关于数组的合并arr.push() arr.push.apply()
原生JS数组操作的6个函数 arr.forEach arr.map arr.filter arr.some arr.every arr.findIndex
向我解释一下:arr.detect |e| arr.rindex(e) != arr.index(e)
2023-04-19:给定一个非负数组arr 任何两个数差值的绝对值,如果arr中没有,都要加入到arr里 然后新的arr继续,任何两个数差值的绝对值,如果arr中没有,都要加入到arr里 一直到ar