Class Solution
java.lang.Object
g1901_2000.s1959_minimum_total_space_wasted_with_k_resizing_operations.Solution
1959 - Minimum Total Space Wasted With K Resizing Operations\.
Medium
You are currently designing a dynamic array. You are given a **0-indexed** integer array `nums`, where `nums[i]` is the number of elements that will be in the array at time `i`. In addition, you are given an integer `k`, the **maximum** number of times you can **resize** the array (to **any** size).
The size of the array at time `t`,
sizet, must be at least `nums[t]` because there needs to be enough space in the array to hold all the elements. The **space wasted** at time `t` is defined as sizet - nums[t], and the **total** space wasted is the **sum** of the space wasted across every time `t` where `0 <= t < nums.length`.
Return _the **minimum** **total space wasted** if you can resize the array at most_ `k` _times_.
**Note:** The array can have **any size** at the start and does **not** count towards the number of resizing operations.
**Example 1:**
**Input:** nums = [10,20], k = 0
**Output:** 10
**Explanation:** size = [20,20].
We can set the initial size to be 20.
The total wasted space is (20 - 10) + (20 - 20) = 10.
**Example 2:**
**Input:** nums = [10,20,30], k = 1
**Output:** 10
**Explanation:** size = [20,20,30].
We can set the initial size to be 20 and resize to 30 at time 2.
The total wasted space is (20 - 10) + (20 - 20) + (30 - 30) = 10.
**Example 3:**
**Input:** nums = [10,20,15,30,20], k = 2
**Output:** 15
**Explanation:** size = [10,20,20,30,30].
We can set the initial size to 10, resize to 20 at time 1, and resize to 30 at time 3.
The total wasted space is (10 - 10) + (20 - 20) + (20 - 15) + (30 - 30) + (30 - 20) = 15.
**Constraints:**
* `1 <= nums.length <= 200`
* 1 <= nums[i] <= 106
* `0 <= k <= nums.length - 1`-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
minSpaceWastedKResizing
public int minSpaceWastedKResizing(int[] arr, int k)
-