力扣第 388 场周赛(A~B)

100233. 重新分装苹果

排序,然后往箱子里面放。

cpp 复制代码
#include <bits/stdc++.h>
//#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define debug(a) cout<<#a<<"="<<a<<endl
#define all(x) x.begin(),x.end()
#define fr first
#define se second
#define endl '\n'
using namespace std;

class Solution{
public:
    int minimumBoxes(vector<int>& apple, vector<int>& capacity) {
        sort(all(capacity),[](int a,int b){
            return a>b;
        });
        int now=0;
        per(i,0,apple.size()-1){
            if(apple[i]<=capacity[now]){
                capacity[now]-=apple[i];
            }else{
                apple[i]-=capacity[now];
                now++;
                i--;
            }
        }
        return now+1;
    }
};

100247. 幸福值最大化的选择方案

在序列中选数,每选一个,其他所有数减一。问最终能选出最大的总和。

也是排序然后模拟。

cpp 复制代码
class Solution {
public:
    long long maximumHappinessSum(vector<int>& happiness, int k) {
        sort(happiness.begin(),happiness.end(),[](int a,int b){
            return a>b;
        });
        
        long long ans=0,cnt=-1;
        for(int i=0;i<happiness.size() and k;++i){
            cnt++;
            k--;
            if(happiness[i]-cnt<=0)break;
            ans+=happiness[i]-cnt;
        }
        return ans;
    }
};
相关推荐
此方ls几秒前
机器学习聚类算法二——DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
算法·机器学习·聚类
add45a4 分钟前
C++中的原型模式
开发语言·c++·算法
2401_844221325 分钟前
C++类型推导(auto/decltype)
开发语言·c++·算法
2201_753877796 分钟前
高性能计算中的C++优化
开发语言·c++·算法
hans汉斯6 分钟前
基于区块链和语义增强的科研诚信智能管控平台
人工智能·算法·yolo·数据挖掘·区块链·汉斯出版社
2501_945425156 分钟前
分布式系统容错设计
开发语言·c++·算法
冷小鱼8 分钟前
机器学习极简入门:从外卖预测到AI核心算法
人工智能·算法·机器学习
2401_8845632414 分钟前
C++代码重构实战
开发语言·c++·算法
小王不爱笑13215 分钟前
二叉排序树从入门到实践:攻克构建与遍历核心逻辑
开发语言·python·算法
码云数智-大飞19 分钟前
多线程 vs 多进程:深度解析与场景选型指南
数据结构