leetcode 2279. 装满石头的背包的最大数量

题目如下

数据范围

示例

复制代码
显然我们应该使用最少的石头装满最多的背包,典型的贪心思想。本题仅需将capacity与rocks的差值算出来排序就行。

通过代码

cpp 复制代码
class Solution {
public:
  int maximumBags(vector<int>& capacity, vector<int>& rocks, int additionalRocks) {
        int n = capacity.size();
        int count = 0;
        vector<int> c;
        for(int i = 0;i < n;i++) {
            c.push_back(capacity[i] - rocks[i]);
        }
        sort(c.begin(), c.end());
        for(int &t :c) {
            if(additionalRocks >= t) {
                additionalRocks -= t;
                count++;
            }else {
                break;
            }
        }
    return count;
}
};
相关推荐
张祥64228890421 分钟前
误差理论与测量平差基础笔记十
笔记·算法·机器学习
踩坑记录21 分钟前
leetcode hot100 2.两数相加 链表 medium
leetcode·链表
qq_192779871 小时前
C++模块化编程指南
开发语言·c++·算法
代码村新手1 小时前
C++-String
开发语言·c++
cici158743 小时前
大规模MIMO系统中Alamouti预编码的QPSK复用性能MATLAB仿真
算法·matlab·预编码算法
历程里程碑3 小时前
滑动窗口---- 无重复字符的最长子串
java·数据结构·c++·python·算法·leetcode·django
2501_940315264 小时前
航电oj:首字母变大写
开发语言·c++·算法
lhxcc_fly4 小时前
手撕简易版的智能指针
c++·智能指针实现
CodeByV4 小时前
【算法题】多源BFS
算法
TracyCoder1234 小时前
LeetCode Hot100(18/100)——160. 相交链表
算法·leetcode