1354. Construct Target Array With Multiple Sums
Given an array of integers target
. From a starting array, A
consisting of all 1's, you may perform the following procedure :
let
x
be the sum of all elements currently in your array.choose index
i
, such that0 <= i < target.size
and set the value ofA
at indexi
tox
.You may repeat this procedure as many times as needed.
Return True if it is possible to construct the target
array from A
otherwise return False.
Example 1:
Example 2:
Example 3:
Constraints:
N == target.length
1 <= target.length <= 5 * 10^4
1 <= target[i] <= 10^9
从全1数组开始,每步计算数组的和并用该和将一个元素值替换,问最后能否变成给定的target数组。此题和780 Reach Points极为类似,倒着从target数组开始,被替换的元素一定是当前最大的元素并且它的值是上一步的数组和,再根据当前和就可以算出该元素替换前的值是多少,依次类推看最后能否退到1。对于像[100000000,1]的,最大值是其它元素很多倍的,取mod来进一步压缩时间。
参考自这。
Last updated
Was this helpful?