Advertisement
3074. Apple Redistribution into Boxes
UnknownView on LeetCode
Time: O(n log C)
Space: O(1)
Approach
Binary search on box capacity; validate smallest boxes can hold all grouped apples.
3074.cs
C#
// Approach: Binary search on box capacity; validate smallest boxes can hold all grouped apples.
// Time: O(n log C) Space: O(1)
public class Solution
{
public int MinimumBoxes(int[] apple, int[] capacity)
{
int appleSum = apple.Sum();
int capacitySum = 0;
Array.Sort(capacity);
for (int i = 0; i < capacity.Length; ++i)
{
capacitySum += capacity[capacity.Length - 1 - i];
if (capacitySum >= appleSum)
return i + 1;
}
return capacity.Length;
}
}Advertisement
Was this solution helpful?