当前位置: 首页 > news >正文

贪心day1

文章目录

  • 前言
  • 雪糕的最大数量
  • 重新分装苹果
  • 装满石头的背包的最大数量
  • K 次取反后最大化的数组和
  • 不同整数的最少数目

前言

💫你好,我是辰chen,本文旨在准备考研复试或就业
💫文章题目大多来自于 leetcode,当然也可能来自洛谷或其他刷题平台
💫欢迎大家的关注,我的博客主要关注于考研408以及AIoT的内容
🌟 仅给出C++版代码

以下的几个专栏是本人比较满意的专栏(大部分专栏仍在持续更新),欢迎大家的关注:

💥ACM-ICPC算法汇总【基础篇】
💥ACM-ICPC算法汇总【提高篇】
💥AIoT(人工智能+物联网)
💥考研
💥CSP认证考试历年题解

雪糕的最大数量


题目链接:雪糕的最大数量

C++版AC代码:

class Solution {
public:int maxIceCream(vector<int>& costs, int coins) {sort(costs.begin(), costs.end());int res = 0;for (int i = 0; i < costs.size(); ++ i) if (coins >= costs[i]) res ++, coins -= costs[i];else break;return res;}
};

重新分装苹果


题目链接:重新分装苹果

C++版AC代码:

class Solution {
public:int minimumBoxes(vector<int>& apple, vector<int>& capacity) {sort(capacity.begin(), capacity.end());reverse(capacity.begin(), capacity.end());int num = 0;for (int i = 0; i < apple.size(); ++ i)num += apple[i];int res = 0;for (int i = 0; i < capacity.size(); ++ i) {num -= capacity[i];res ++;if (num <= 0) break;}return res;}
};

装满石头的背包的最大数量


题目链接:装满石头的背包的最大数量

C++版AC代码:

class Solution {
public:int maximumBags(vector<int>& capacity, vector<int>& rocks, int additionalRocks) {for (int i = 0; i < capacity.size(); ++ i) capacity[i] -= rocks[i];sort(capacity.begin(), capacity.end());int res = 0;for (int i = 0; i < capacity.size(); ++ i) if (additionalRocks >= capacity[i]) {additionalRocks -= capacity[i];res ++;}return res;}
};

K 次取反后最大化的数组和


题目链接:K 次取反后最大化的数组和

C++版AC代码:

class Solution {
public:int largestSumAfterKNegations(vector<int>& nums, int k) {sort(nums.begin(), nums.end());for (int i = 0; i < nums.size(); ++ i) if (k && nums[i] < 0) {k --;nums[i] = -nums[i];}else {break;}sort(nums.begin(), nums.end());if (k % 2) nums[0] = -nums[0];int res = 0;for (int i = 0; i <nums.size(); ++ i)res += nums[i];return res;}
};

不同整数的最少数目


题目链接:不同整数的最少数目

C++版AC代码:

class Solution {
public:int cnt[100010];int findLeastNumOfUniqueInts(vector<int>& arr, int k) {map<int, int> m;for (int i = 0; i < arr.size(); ++ i) m[arr[i]] ++;int num = 0;for (auto i = m.begin(); i != m.end(); ++ i) cnt[num ++] = i -> second;sort(cnt, cnt + num);for (int i = 0; i < num; ++ i) if (k >= cnt[i]) {k -= cnt[i];}else {return num - i;}return 0;}
};

http://www.lryc.cn/news/461384.html

相关文章:

  • Redis 完整指南:命令与原理详解
  • 【2024软考高级架构师】论文篇——3、论Web系统的测试技术及其应用
  • 迪杰斯特拉算法的理解
  • 华为OD机试 - 文本统计分析(Python/JS/C/C++ 2024 E卷 200分)
  • 计算机挑战赛9
  • C++学习路线(十六)
  • 2024年最受欢迎的AI工具与实际应用:AI技术对未来生活的深远影响
  • 【网络安全】账户安全随笔
  • 在线培训知识库管理系统:教育行业的新动力
  • 【AI声音克隆本地整合包及教程】第二代GPT-SoVITS V2:声音克隆的新境界
  • 博看书苑 8.8.1| 免费阅读海量图书期刊
  • 导致动态代理无法使用的原因有哪些?
  • 熟练使用Spring Boot、Spring Cloud Alibaba微服务开发框架,并深入理解其原理 学习要求
  • 2024-10-09 问AI: [AI面试题] 描述数据预处理在 AI 中的重要性
  • Linux中文件的理解
  • 益安宁丸,国药准字,值得信赖
  • Django项目的创建及说明(详细图解版)
  • MySQL 9从入门到性能优化-二进制日志
  • Cloudlog delete_oqrs_line 未授权SQL注入漏洞复现
  • 【Linux】解锁软硬链接奥秘,高效动静态库管理的实战技巧
  • 【设计模式】Python 后端开发中的工厂模式设计与实现
  • 划重点!入门安全测试,这几点要注意!
  • mysql 09 独立表空间结构
  • linux 虚拟环境下源码安装DeepSpeed
  • 常见八大排序算法
  • 汽车免拆诊断案例 | 2022款大众捷达VS5车行驶中挡位偶尔会锁在D3挡
  • Linux之HugePage的原理与使用
  • 一步步优化Redis实现分布式锁
  • C++进阶——二叉搜索树
  • Require:业界优秀的HTTP管理方案。