3074: 重新分装苹果
既然同一个包裹中的苹果可以分装到不同的箱子中,那就先把所有苹果堆在一起,然后一个个地装箱。为了少用箱子,要先装大箱子,再装小箱子。
注:题目保证可以将所有苹果重新分装到箱子中。
class Solution {
public:
int minimumBoxes(vector<int>& apple, vector<int>& capacity) {
int sum=reduce(apple.begin(),apple.end(),0);
sort(capacity.begin(),capacity.end());
int ans=0;
for(int i=capacity.size()-1;i>=0;i--){
sum-=capacity[i];
ans++;
if(sum<=0) break;
}
return ans;
}
};