贪心day3

server/2024/10/20 21:06:01/

文章目录

  • 前言
  • 幸福值最大化的选择方案
  • 从一个范围内选择最多整数 I
  • 摧毁小行星
  • 重排数组以得到最大前缀分数
  • 三角形的最大周长

前言

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

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

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

幸福值最大化的选择方案


题目链接:幸福值最大化的选择方案

C++版AC代码:

class Solution {
public:long long maximumHappinessSum(vector<int>& happiness, int k) {sort(happiness.begin(), happiness.end(), greater<>());long long res = 0;for (int i = 0; i < k; ++ i ) {int t = happiness[i];if (t >= i) res += t - i;}return res;}
};

从一个范围内选择最多整数 I


题目链接:从一个范围内选择最多整数 I

C++版AC代码:

class Solution {
public:int maxCount(vector<int>& banned, int n, int maxSum) {unordered_map<int, int> m;for (int i = 0; i < banned.size(); ++ i ) m[banned[i]] = 1;int res = 0, sum = 0;for (int i = 1; i <= n && sum + i <= maxSum; ++ i ) {if (m.find(i) == m.end()) {sum += i;res ++;}}return res;}
};

摧毁小行星


题目链接:摧毁小行星

C++版AC代码:

class Solution {
public:bool asteroidsDestroyed(int mass, vector<int>& asteroids) {sort(asteroids.begin(), asteroids.end());long long currentMass = mass;for (int i = 0; i < asteroids.size(); ++ i ) {if (currentMass >= asteroids[i]) currentMass += asteroids[i];else return false;}return true;}
};

重排数组以得到最大前缀分数


题目链接:重排数组以得到最大前缀分数

C++版AC代码:

class Solution {
public:int maxScore(vector<int>& nums) {sort(nums.begin(), nums.end(), greater<>());// 创建 long long 类型的 vector 以处理可能的溢出vector<long long> renums(nums.begin(), nums.end());  // 这里将 nums 转换为 long longfor (int i = 1; i < renums.size(); ++i) renums[i] += renums[i - 1];  int res = 0;for (int i = 0; i < renums.size() && renums[i] > 0; ++i) res++;return res;}
};

三角形的最大周长


题目链接:三角形的最大周长

C++版AC代码:

class Solution {
public:int largestPerimeter(vector<int>& nums) {sort(nums.begin(), nums.end(), greater<>());for (int i = 0; i < nums.size() - 2; ++ i ) {if (nums[i + 1] + nums[i + 2] > nums[i]) return nums[i] + nums[i + 1] + nums[i + 2];}return 0;}
};


http://www.ppmy.cn/server/133448.html

相关文章

C++面试速通宝典——28

527. 讲一下平衡二叉搜索树&#xff0c;删除非叶子节点后如何调整&#xff1f; 平衡二叉搜索树&#xff08;比如AVL树或红黑树&#xff09;是一种在每次插入和删除后能够自平衡的二叉搜索树&#xff0c;以保证树的高度尽可能地低&#xff0c;从而保证操作的性能。 删除非叶子…

Java基础:面向对象编程8

1 Java 注解 1.1 概念 定义&#xff1a;注解&#xff08;Annotation&#xff09;是在 Java 1.5 时引入的概念&#xff0c;同 class 和 interface 一样&#xff0c;属于一种类型。作用&#xff1a;注解提供了一系列数据用来装饰程序代码&#xff08;类、方法、字段等&#xff…

基于MATLAB的交通标志的识别

一、背景 随着交通技术的日益完善和交通工具的多样化发展&#xff0c;交通安全成为当前最热门的问 题&#xff0c;道路交通关系着人们的生命以及财产安全。 交通标志的识别是保证交通安全的一个重要环节。交通标识包含丰富的道路交通信 息&#xff0c;为驾驶员提供警示、指示…

C++ 11 的 codecvt 与编码转换

1 编码与乱码 乱码产生的主要原因是编码与字符集不匹配&#xff0c;这种不匹配时怎么造成的呢&#xff1f;首先要来了解一下编码和字符集的关系。 1.1 编码与字符集 由于标准的英文 ASCII 已经成了全球标准&#xff0c;每台电脑的 BIOS 里存着一份标准 ASCII 表&#xff08;…

基于K8S的StatefulSet部署mysql主从

StatefulSet特性 StatefulSet的网络状态 拓扑状态&#xff1a;应用的多个实例必须按照某种顺序启动&#xff0c;并且必须成组存在&#xff0c;例如一个应用中必须存在一 个A Pod和两个B Pod&#xff0c;且A Pod必须先于B Pod启动的场景 存储状态&#xff1a;应用存在多个实例…

python——pyecharts数据可视化堆叠面积图

堆叠面积图具有以下几个重要作用&#xff1a; 一、展示总量与分量关系 堆叠面积图可以清晰地展示多个数据系列的总量以及各个分量在总量中所占的比例。通过不同颜色或阴影的区域&#xff0c;你可以直观地看出每个数据系列对整体的贡献程度。例如&#xff0c;在分析公司不同业…

LLAMA2入门(一)-----预训练

Llama 2 是预训练和微调的LLM系列&#xff0c;Llama 2 和 Llama 2-Chat 模型的参数规模达到 70B。Llama 2-Chat 模型专门为对话场景进行了优化。 这是一个系列的文章&#xff0c;会分别从LLAMA2的预训练&#xff0c;微调&#xff0c;安全性等方面进行讲解。 1.数据来源 数据…

Java_EE 网络编程(TCP与UDP通信)

传输控制协议&#xff08;TCP&#xff0c;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;由IETF的RFC 793 定义。 TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机…