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;
}
};
相关推荐
Zhuai-行淮2 小时前
施磊老师高级c++(一)
开发语言·c++
ylfhpy2 小时前
Java面试黄金宝典1
java·开发语言·算法·面试·职场和发展
这个懒人3 小时前
SB重删算法详解:原理、架构与实现
c++·算法·哈希算法
草原上唱山歌3 小时前
C/C++都有哪些开源的Web框架?
前端·c++·开源
Cachel wood3 小时前
Mysql相关知识:存储引擎、sql执行流程、索引失效
android·人工智能·sql·mysql·算法·前端框架·ab测试
wen__xvn3 小时前
每日一题洛谷P1106 删数问题c++
开发语言·c++·算法
_GR4 小时前
2020年蓝桥杯第十一届C&C++大学B组(第二次)真题及代码
c语言·数据结构·c++·算法·蓝桥杯
SomeB1oody4 小时前
【Python机器学习】3.2. 决策树理论(进阶):ID3算法、信息熵原理、信息增益
python·算法·决策树·机器学习
Bczheng14 小时前
C++ 语法之函数和函数指针
开发语言·c++
C语言小火车4 小时前
Redis 10大核心场景实战手册:从缓存加速到分布式锁的全面解析
c语言·开发语言·数据库·c++·redis