力扣第 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;
    }
};
相关推荐
阿维的博客日记3 分钟前
LeetCode 209 - 长度最小的子数组算法详解
数据结构·算法·leetcode
珍珠是蚌的眼泪1 小时前
LeetCode_数学
leetcode·计数质数·3的幂·七进制数·十六进制数·三个数的最大乘积
limengshi1383921 小时前
人工智能学习:LR和SVM的联系与区别?
人工智能·算法·机器学习·支持向量机
点云SLAM6 小时前
PyTorch 中.backward() 详解使用
人工智能·pytorch·python·深度学习·算法·机器学习·机器人
only-qi7 小时前
146. LRU 缓存
java·算法·缓存
梁辰兴8 小时前
数据结构:排序
数据结构·算法·排序算法·c·插入排序·排序·交换排序
Lris-KK8 小时前
【Leetcode】高频SQL基础题--1731.每位经理的下属员工数量
sql·leetcode
野犬寒鸦8 小时前
力扣hot100:搜索二维矩阵 II(常见误区与高效解法详解)(240)
java·数据结构·算法·leetcode·面试
菜鸟得菜8 小时前
leecode kadane算法 解决数组中子数组的最大和,以及环形数组连续子数组的最大和问题
数据结构·算法·leetcode
楼田莉子9 小时前
C++算法专题学习——分治
数据结构·c++·学习·算法·leetcode·排序算法