小杨打包「零食盲盒」:快递盒最多承重 limit,每盒最多装两个盲盒。策略:每次把最轻和最重的尝试放一起,若两者之和不超过 limit 就一起装,否则最重的单独装。下面代码计算最少快递盒数,横线处应填( )。
int minBoxes(vector<int>& w, int limit) {
sort(w.begin(), w.end());
int l = 0, r = w.size() - 1;
int boxes = 0;
while (l <= r) {
if (w[l] + w[r] <= limit) {
______________; // 在此处填入代码
} else {
r--;
}
boxes++;
}
return boxes;
}
- A. l++;
- B. r--;
- C. l++; r--;
- D. boxes--;
正确答案:C