力扣第 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;
    }
};
相关推荐
Xの哲學8 小时前
Linux Tasklet 深度剖析: 从设计思想到底层实现
linux·网络·算法·架构·边缘计算
Imxyk8 小时前
力扣:1553. 吃掉 N 个橘子的最少天数(记忆化搜索,Dijkstra解法)
算法
爱编码的傅同学8 小时前
【今日算法】Leetcode 581.最短无序连续子数组 和 42.接雨水
数据结构·算法·leetcode
Σίσυφος19008 小时前
线性与非线性 、齐次非齐次
算法
(❁´◡`❁)Jimmy(❁´◡`❁)8 小时前
4815. 【NOIP2016提高A组五校联考4】ksum
算法
wm10439 小时前
代码随想录第四天
数据结构·链表
无限码力9 小时前
科大讯飞秋招笔试真题 - 字符拼接 & 字典序最小的字符串拼接 & 圆心覆盖
算法·秋招·科大讯飞·科大讯飞笔试真题
Lips6119 小时前
第四章 决策树
算法·决策树·机器学习
CoderCodingNo9 小时前
【GESP】C++六级考试大纲知识点梳理, (3) 哈夫曼编码与格雷码
开发语言·数据结构·c++
牛马大师兄9 小时前
数据结构复习 | 什么是数据结构?
数据结构