Class Solution
-
- All Implemented Interfaces:
public final class Solution2551 - Put Marbles in Bags.
Hard
You have
kbags. You are given a 0-indexed integer arrayweightswhereweights[i]is the weight of the <code>i<sup>th</sup></code> marble. You are also given the integerk.Divide the marbles into the
kbags according to the following rules:No bag is empty.
If the <code>i<sup>th</sup></code> marble and <code>j<sup>th</sup></code> marble are in a bag, then all marbles with an index between the <code>i<sup>th</sup></code> and <code>j<sup>th</sup></code> indices should also be in that same bag.
If a bag consists of all the marbles with an index from
itojinclusively, then the cost of the bag isweights[i] + weights[j].
The score after distributing the marbles is the sum of the costs of all the
kbags.Return the difference between the maximum and minimum scores among marble distributions.
Example 1:
Input: weights = 1,3,5,1, k = 2
Output: 4
Explanation:
The distribution 1,3,5,1 results in the minimal score of (1+1) + (3+1) = 6.
The distribution 1,3,5,1, results in the maximal score of (1+3) + (5+1) = 10.
Thus, we return their difference 10 - 6 = 4.
Example 2:
Input: weights = 1, 3, k = 2
Output: 0
Explanation:
The only distribution possible is 1,3.
Since both the maximal and minimal score are the same, we return 0.
Constraints:
<code>1 <= k <= weights.length <= 10<sup>5</sup></code>
<code>1 <= weightsi<= 10<sup>9</sup></code>
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final LongputMarbles(IntArray weights, Integer k)-
-
Method Detail
-
putMarbles
final Long putMarbles(IntArray weights, Integer k)
-
-
-
-