Talentd
FleetCode

3074. Apple Redistribution into Boxes

Easy78.5% acceptance3 companies

You are given an array apple of size n and an array capacity of size m.

There are n packs where the ith pack contains apple[i] apples. There are m boxes as well, and the ith box has a capacity of capacity[i] apples.

Return the minimum number of boxes you need to select to redistribute these n packs of apples into boxes.

Note that, apples from the same pack can be distributed into different boxes.

Example 1:

Input: apple = [1,3,2], capacity = [4,3,1,5,2]
Output: 2
Explanation: We will use boxes with capacities 4 and 5.
It is possible to distribute the apples as the total capacity is greater than or equal to the total number of apples.

Example 2:

Input: apple = [5,5,5], capacity = [2,4,2,7]
Output: 4
Explanation: We will need to use all the boxes.

Constraints:

  • 1 <= n == apple.length <= 50
  • 1 <= m == capacity.length <= 50
  • 1 <= apple[i], capacity[i] <= 50
  • The input is generated such that it's possible to redistribute packs of apples into boxes.

Asked at 3 companies

Hints open one at a time

Hint 1
Sort array capacity in non-decreasing order.
Hint 2
Greedily select boxes with the largest capacities to redistribute apples optimally.
9:53
Still stuck?Read 3 approaches, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def minimumBoxes(self, apple: List[int], capacity: List[int]) -> int:
3
Starter codePython 3Spaces: 4
Examples
Input
[1,3,2]
[4,3,1,5,2]
Input
[5,5,5]
[2,4,2,7]
Your code is saved on this device.Solution