c++算法贪心系列
本篇文章,同大家一起学习贪心算法!!!

第一题
题目链接
2208. 将数组和减半的最少操作次数 - 力扣(LeetCode)
题目解析

本题重点:最终的数组和要小于原数组和的一半,且求这一操作的最少操作数
代码原理

代码编写
class Solution {
public:
int halveArray(vector<int>& nums) {
double sum = 0.0;
priority_queue<double> heap;//将数据存放进大根堆中的优势:最大的数会在堆顶
for(auto cur: nums)
{
heap.push(cur);
sum += cur;
}
sum /= 2.0;
int count = 0;
while(sum > 0)
{
double t = heap.top() / 2.0;
heap.pop();
sum -= t;
count++;
heap.push(t);
}
return count;
}
};
贪心策略
选择数组中最大的元素
第二题
题目链接
179. 最大数 - 力扣(LeetCode)
题目解析


代码原理

代码编写
class Solution {
public:
string largestNumber(vector<int>& nums) {
vector<string> str;
for(auto cur: nums)
{
str.push_back(to_string(cur));
}
sort(str.begin(), str.end(), [](const string& a, const string& b)
{
return a + b > b + a;
});
string ret;
for(auto& s: str)
{
ret += s;
}
if(ret[0] == '0') return "0";
return ret;
}
};
贪心策略
先看数字的最高位,与其他数字的最高位进行比较,大的在前小的在后
注意:一切都以每个数的最高位为比较对象
第三题
题目链接
376. 摆动序列 - 力扣(LeetCode)
题目解析

相信大家对这道题已经不再陌生,因为我们上一次做这题的时候是用动态规划的方法去做的题,当然这次博主依旧为给大家简单解析一下这题

注意:这里的加号表示递增,减号表示递减!!!大体可以参考高中时学过的单调性
代码原理

将一个波分成两段分析,因此就有了left和right,left的状态(是上升还是下降)由后面的i+1的元素决定,right的状态则需要i + 1元素和i元素决定。
由于起点无法判断它的状态因此要长度减1,也因此最后的子序列长度要加1
代码编写
class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
int n = nums.size();
if(n < 2) return n;
int ret = 0, left = 0;
for(int i = 0; i < n - 1; i++)
{
int right = nums[i + 1] - nums[i];
if(right == 0) continue;
if(right * left <= 0) ret++;
left = right;
}
return ret + 1;
}
};
贪心策略
画图 + 状态走向
那么本篇文章的内容就先到这里,我们下期文章再见!!!!

记得一键三联哦!!!

相关文章:
c++算法贪心系列
本篇文章,同大家一起学习贪心算法!!! 第一题 题目链接 2208. 将数组和减半的最少操作次数 - 力扣(LeetCode) 题目解析 本题重点:最终的数组和要小于原数组和的一半,且求这一操作的…...
【Maui】注销用户,采用“手势”点击label弹窗选择
文章目录 前言一、问题描述二、解决方案三、软件开发(源码)3.1 方法一:前端绑定3.2 方法二:后端绑定3.3 注销用户的方法 四、项目展示 前言 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创…...
智慧脚下生根,智能井盖监测终端引领城市安全新革命
在繁忙的都市生活中,我们往往只关注地面的繁华与喧嚣,却忽略了隐藏在地面之下的基础设施——井盖。这些看似不起眼的井盖,实则承担着排水、通讯、电力等重要功能,是城市安全运转的重要一环。然而,传统的井盖管理面临着…...
Word2Vec如何优化从中间层到输出层的计算?
文章目录 Word2Vec如何优化从中间层到输出层的计算?用负采样优化中间层到输出层的计算负采样方法的关键思想负采样的例子负采样的采样方法 Word2Vec如何优化从中间层到输出层的计算? 重要性:★★ 用负采样优化中间层到输出层的计算 以词汇…...
第七篇:vue3 计算属性:computed
v-model "firstName". // v-model. 就是双向绑定的意思 <br/> // 通过 v-model 进行绑定姓:<input type"text" v-model "firstName"><br/>名:<input type"text" v-model"lastN…...
搭建k8s集群
一、准备工作(所有节点) 在开始部署之前,我们需要对所有节点进行以下准备工作。 1.1、关闭防火墙 # 关闭防火墙 systemctl stop firewalld# 禁止防火墙开机自启 systemctl disable firewalld1.2、 关闭 SELinux # 永久关闭 SELinux sed -…...
Android SystemUI——最近任务应用列表(十七)
对于最近任务应用列表来说,在 Android 原生 SystemUI 中是一个单独的组件。 <string-array name="config_systemUIServiceComponents" translatable="false">……<item>com.android.systemui.recents.Recents</item> </string-arra…...
java 根据前端传回的png图片数组,后端加水印加密码生成pdf,返回给前端
前端传回的png图片数组,后端加水印加密码生成pdf,返回给前端 场景:重点:maven依赖controllerservice 场景: 当前需求,前端通过html2canvas将页面报表生成图片下载,可以仍然不满意。 需要java后…...
《探秘鸿蒙Next:如何保障AI模型轻量化后多设备协同功能一致》
在鸿蒙Next的多设备协同场景中,确保人工智能模型轻量化后功能的一致性是一项极具挑战性但又至关重要的任务。以下是一些关键的方法和策略。 统一的模型架构与标准 采用标准化框架:选择如TensorFlow Lite、PyTorch Mobile等在鸿蒙Next上适配良好的轻量化…...
C语言二级
//请编写函数fun(),该函数的功能是:计算并输出给定整数n的所有因 //子(不包括1和自身)之和。规定n的值不大于1000。例如,在主函数 //中从键盘给n输入的值为856,则输出为:sum 763。 //注意&…...
隐私保护+性能优化,RyTuneX 让你的电脑更快更安全
RyTuneX 是一款专为 Windows 10 和 11 用户量身打造的系统优化工具,采用先进的 WinUI 3 框架开发,以其现代化的设计风格和强大的功能集合脱颖而出。这款工具不仅界面简洁美观,还提供了多样化的系统优化选项,旨在帮助用户最大化设备…...
rust学习-宏的定义与使用
rust学习-宏的定义与使用 声明宏(macro_rules! 宏)使用方式1. 简单的宏2. 带参数的宏3. 多个模式的宏 过程宏1. 定义过程宏1.1 属性宏1.2 函数宏1.3 派生宏 2. 使用过程宏2.1 属性宏2.2 函数宏2.3 派生宏 在 Rust 中,宏(macro&…...
【学习总结|DAY032】后端Web实战:登录认证
在 Web 后端开发中,登录认证是保障系统安全和用户数据隐私的关键环节。本文将结合实际开发案例,深入探讨登录功能与登录校验的实现思路和技术细节,希望能帮助读者更好地掌握这一重要知识点。 一、登录功能实现 1.1 思路分析 登录功能的核心…...
leetcode 123. 买卖股票的最佳时机 III
题目:123. 买卖股票的最佳时机 III - 力扣(LeetCode) O(N)的算法: f[i] max(max(0, prices[i] - min(prices[0], prices[1], ... , prices[i - 1)), f[i - 1]); g[i] max(max(0, max(prices[i 1], prices[i 2], ... , pric…...
Apache Tika 详解
Apache Tika是一个开源的、跨平台的库,专门用于检测、提取和解析多种文件格式的元数据。以下是对Apache Tika的详细解析: 一、概述 Apache Tika旨在为各种类型的数据提取提供一个单一的API,它支持多种文件格式,包括文档、图片、…...
ChatGPT被曝存在爬虫漏洞,OpenAI未公开承认
OpenAI的ChatGPT爬虫似乎能够对任意网站发起分布式拒绝服务(DDoS)攻击,而OpenAI尚未承认这一漏洞。 本月,德国安全研究员Benjamin Flesch通过微软的GitHub分享了一篇文章,解释了如何通过向ChatGPT API发送单个HTTP请求…...
Qt——界面优化
在Qt中进行界面优化,可以从以下几个方面入手: 1.使用QWidget:setVisible来控制Widget的 显示和隐藏,而不是删除和重建。 2.使用QPainter直 接绘制组件,避免使用复杂的布局。 3.使用QSS进行样式设置, 减少图片资源的使用。 4.使…...
python学opencv|读取图像(四十一 )使用cv2.add()函数实现各个像素点BGR叠加
【1】引言 前序已经学习了直接在画布上使用掩模,会获得彩色图像的多种叠加效果,相关文章链接为: python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖-CSDN博客 这时候如果更进一步,直接…...
Spring MVC和Spring WebFlux的区别
目录 一、编程模型 二、IO处理方式 三、数据流处理 四、适用场景 五、生态系统 在当今的Web开发领域,Spring框架无疑占据着重要的地位。其中,Spring MVC和Spring WebFlux作为Spring框架中用于构建Web应用程序的两个重要模块,各自具有独特…...
Linux探秘坊-------4.进度条小程序
1.缓冲区 #include <stdio.h> int main() {printf("hello bite!");sleep(2);return 0; }执行此代码后,会 先停顿两秒,再打印出hello bite,但是明明打印在sleep前面,为什么会后打印呢? 因为ÿ…...
7个关键步骤!Triton推理服务灾备演练与故障注入测试全指南
7个关键步骤!Triton推理服务灾备演练与故障注入测试全指南 【免费下载链接】server The Triton Inference Server provides an optimized cloud and edge inferencing solution. 项目地址: https://gitcode.com/gh_mirrors/server117/server Triton Inferen…...
从Harness工程视角深度解读Claude Code源码,AI编码Agent的工业级实现逻辑
2026年3月底,Anthropic旗下命令行编码Agent工具Claude Code,因npm发布包中的source map文件意外暴露存储在官方R2存储桶内的未混淆源码,让外界首次得以窥见工业级AI Agent系统的真实架构。这份超过51万行TypeScript代码的工程样本,…...
Gemma-3 Pixel StudioGPU算力优化:24GB显存管理+4-bit量化避坑指南
Gemma-3 Pixel Studio GPU算力优化:24GB显存管理4-bit量化避坑指南 你是不是也遇到过这种情况?好不容易部署了一个强大的AI模型,比如这个Gemma-3 Pixel Studio,功能确实惊艳——能看懂图片、能聊天、还能写代码。但一运行起来&am…...
Qwen3.5-2B企业降本案例:用2B模型替代8B,GPU成本降低57%实录
Qwen3.5-2B企业降本案例:用2B模型替代8B,GPU成本降低57%实录 1. 轻量化模型带来的成本革命 在AI应用大规模落地的今天,模型部署成本已成为企业最关注的痛点之一。我们团队近期完成了一个典型案例:用Qwen3.5-2B模型成功替代原有8…...
从零到一:用Python和TensorFlow搭建卫星图像识别系统,Vue3+Django全栈实战
从零构建卫星图像识别全栈系统:Python与Vue3的深度协同实战 卫星图像识别技术正在重塑农业监测、城市规划与灾害预警等领域的决策方式。想象一下,当无人机拍摄的农田图像能自动识别作物健康状况,或城市规划部门通过卫星照片实时监控建筑变化—…...
别只盯着树莓派!聊聊GEC6818这块国产ARM板在嵌入式学习中的独特优势与避坑指南
国产ARM开发板GEC6818实战指南:从硬件解析到智能家居项目落地 在嵌入式开发领域,树莓派几乎成了入门者的默认选择,但这款英国产的单板计算机真的适合所有学习场景吗?当我第一次接触到GEC6818这块国产ARM开发板时,它的8…...
FLAC转ALAC踩坑实录:除了音质无损,你的专辑封面和元数据都保留了吗?
FLAC转ALAC终极指南:如何无损迁移音质、元数据与专辑封面 每次打开Apple Music看到那些没有封面的专辑,或是艺术家信息显示为"未知"的曲目,总让人有种说不出的别扭。作为一位十年资深的数字音乐收藏者,我深知真正的音乐…...
vlan 2
...
Harbor镜像同步到阿里云ACR和华为云SWR的保姆级避坑指南(附实操截图)
Harbor镜像同步到阿里云ACR和华为云SWR的保姆级避坑指南(附实操截图) 在多云架构成为主流的今天,企业往往需要将容器镜像同步到不同云平台以满足业务部署需求。Harbor作为企业级镜像仓库,其复制功能虽然强大,但在实际对…...
2026-04-03期 AI最新资讯
2026年4月3日 AI资讯日报 每日精选人工智能领域最新动态,带你快速掌握技术突破、产品发布与行业趋势。🚀 技术突破 Meta 发布 Llama 4 系列开源大模型 Meta 今日正式推出 Llama 4 系列,包含三个版本:Llama 4 Mini、Llama 4 Base 和…...
