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

贪心算法精品题

1.找钱问题

本题的贪心策略在于我们希望就可能的保留作用大的5元

class Solution {
public:bool lemonadeChange(vector<int>& bills) {std::map<int ,int> _map;for(auto ch:bills){if(ch == 5) _map[ch]++;else if(ch == 10){if(_map[5] == 0) return false;else{_map[5]--;_map[ch]++;}}else if(ch == 20){//这里的判断_map [5]!= 0 && _map[10] != 0其实是贪心我用10元代替两张5if(_map [5]!= 0 && _map[10] != 0){_map[5]--;_map[10]--;_map[ch]++;}else if(_map[5] >= 3){_map[5] -= 3;_map[ch]++;}else return false;}}return true;}
};

题目链接:860. 柠檬水找零 - 力扣(LeetCode)

2.最大数

这道题涉及一个知识点:一个数比另一个数大那么转换为字符串以后对应的大小关系并不会改变

那么对于 string A = "12"  string B = "23"  string C = "14".如果进行排序由于BA大于AB故B位于A的前面由于CA大于AC所以C位于A的前面    故顺序为:B C A那么BCA是不是他们组成的最大数呢这里显然是,但是要以此类推就能知道这题我们只需要重载排序规则就能完成,当然这题还存在一些便捷条件比如如个排序数组的开头是“0”说明这些数着的最大值就是0

class Solution {
public:static bool compare(int a,int b){std::string A = std::to_string(a);std::string B = std::to_string(b);std::string AB = A+B;std::string BA = B+A;return AB>BA;} string largestNumber(vector<int>& nums) {sort(nums.begin(),nums.end(),compare);string ret;for(auto ch:nums) ret+=std::to_string(ch);return ret[0] == '0'?"0":ret;}
};

题目链接:179. 最大数 - 力扣(LeetCode)

3.摆动序列

这个题目可以理解为找到一个子序列,满足子序列内的元素时先增在减或者先减在增的,就类似正弦函数。

我们怎么才能找到最长的满足条件的子序列呢,我先做了一个我就找极大值和极小值来组成这个子序列,然后就过了,很神奇,然后看了看题解才明白为什么

看这张图,我们发现其实有三条可选择的路径但是其实本质上都是一样的,都是上升区间取一个值然后在相邻的下降区间取一个比自己小的数

那么我们的贪心策略就是直接去上升区间和下降区间的端点也就是极大值和极小值。

class Solution {
public:int wiggleMaxLength(vector<int>& nums) {int left = 0,right = 0;int ret = 0;for(int i = 0;i<nums.size()-1;i++){right = nums[i+1]-nums[i];if(right == 0) continue;else if(right*left<=0){left = right;ret++;}else continue;}return ret+1;}
};

相关文章:

贪心算法精品题

1.找钱问题 本题的贪心策略在于我们希望就可能的保留作用大的5元 class Solution { public:bool lemonadeChange(vector<int>& bills) {std::map<int ,int> _map;for(auto ch:bills){if(ch 5) _map[ch];else if(ch 10){if(_map[5] 0) return false;else{_m…...

sql server 复制从备份初始化数据

参考 &#xff1a; 从备份初始化订阅&#xff08;事务&#xff09; - SQL Server | Microsoft Learn sql server 复制默认是用快照初始化数据的&#xff0c;也支持从备份初始化数据&#xff0c;参考如上...

【蓝桥杯】1.k倍区间

前缀和 #include <iostream> using namespace std; const int N100010; long long a[N]; int cnt[N]; int main(){int n, m;cnt[0] 1;cin >> n >> m;long long res 0;for(int i 1; i < n; i){scanf("%d", &a[i]);a[i] a[i-1];res cnt…...

Qt互斥锁(QMutex)的使用、QMutexLocker的使用

Qt互斥锁【QMutex】的使用、QMutexLocker的使用 Chapter1 Qt互斥锁(QMutex)的使用、QMutexLocker的使用一、QMutexLocker和QMutex实现示例图二、QMutex和QMutexLocker的关系&#xff08;个人理解&#xff09;三、QMutex使用和QMutexLocker使用1.QMutex的使用2.QMutexLocker的使…...

具身智能(Embodied AI)的物理交互基准测试:构建真实世界的智能体评估体系

文章目录 引言:从虚拟到物理的智能跃迁一、具身智能测试体系设计1.1 评估维度矩阵1.2 测试平台技术栈二、核心测试场景构建2.1 基础运动能力测试集2.2 复杂操作任务设计三、物理仿真引擎关键技术3.1 高精度接触力学模型3.2 传感器噪声模拟四、评估指标体系4.1 量化指标公式4.2…...

Javaweb后端数据库多表关系一对多,外键,一对一

多表关系 一对多 多的表里&#xff0c;要有一表里的主键 外键 多的表上&#xff0c;添加外键 一对一 多对多 案例...

鸿蒙 ArkUI 实现敲木鱼小游戏

敲木鱼是一款具有禅意的趣味小游戏&#xff0c;本文将通过鸿蒙 ArkUI 框架的实现代码&#xff0c;逐步解析其核心技术点&#xff0c;包括动画驱动、状态管理、音效震动反馈等。 一、架构设计与工程搭建 1.1 项目结构解析 完整项目包含以下核心模块&#xff1a; ├── entry…...

cv2.solvePnP 报错 求相机位姿

目录 报错信息及解决&#xff1a; cv2.solvePnP 使用例子&#xff1a; 设置初始值效果也不好 cv2.projectPoints 函数效果不好 报错信息及解决&#xff1a; File "/shared_disk/users/lbg/project/human_4d/nlf_pose/render_demo_pkl2_cal.py", line 236, in <…...

Linux实操——在服务器上直接从百度网盘下载(/上传)文件

Linux Linux实操——在服务器上直接从百度网盘下载&#xff08;/上传&#xff09;文件 文章目录 Linux前言一、下载并安装bypy工具二、认证并授权网盘账号三、将所需文件转移至目的文件夹下四、下载文件五、上传文件六、更换绑定的百度云盘账户 前言 最近收到一批很大的数据&…...

2004-2024年光刻机系统及性能研究领域国内外发展历史、差距、研究难点热点、进展突破及下一个十年研究热点方向2025.2.27

一.光刻机概述 1.1 定义与原理 光刻机是 集成电路芯片制造的核心设备 ,其工作原理基于 光学成像和化学反应 。它通过 曝光系统 将掩模版上的图形精确地转移到涂覆于硅片表面的光刻胶上。这个过程涉及复杂的物理和化学反应,主要包括以下几个步骤: 涂胶 :在硅片表面均匀涂抹…...

请求Geoserver的WTMS服务返回200不返回图片问题-跨域导致

今天碰到个奇怪问题&#xff0c;改了个页面标题再打包布署GeoServer发现调用WTMS服务失败&#xff0c;请求返回状态码200&#xff0c;返回包大小0&#xff0c;使用postman模拟请求是可以正常返回图片的。 跟之前版本对比如下&#xff1a; 正常Response请求: HTTP/1.1 200X-Fr…...

ubuntu配置jmeter

1.前提准备 系统 ubuntu server 22.04 前提条件&#xff1a;服务器更新apt与安装lrzsz&#xff1a;更新apt&#xff1a; sudo apt update安装lrzsz: 命令行下的上传下载文件工具 sudo apt install lrzszsudo apt install zip2.安装jemeter 2.1.下载jdk17 输入命令&#xf…...

《Qt动画编程实战:轻松实现头像旋转效果》

《Qt动画编程实战&#xff1a;轻松实现头像旋转效果》 Qt 提供了丰富的动画框架&#xff0c;可以轻松实现各种平滑的动画效果。其中&#xff0c;旋转动画是一种常见的 UI 交互方式&#xff0c;广泛应用于加载指示器、按钮动画、场景变换等。本篇文章将详细介绍如何使用 Qt 实现…...

【Mac电脑本地部署Deepseek-r1:详细教程与Openwebui配置指南】

文章目录 前言电脑配置&#xff1a;安装的Deepseek版本&#xff1a;使用的UI框架&#xff1a;体验效果展示&#xff1a;本地部署体验总结 部署过程Ollama部署拉取模型运行模型Openwebui部署运行Ollama服务在Openwebui中配置ollama的服务 后话 前言 deepseek最近火的一塌糊涂&a…...

DeepSeek开源技术全景解析:从硬件榨取到AI民主化革命

DeepSeek开源技术全景解析&#xff1a;从硬件榨取到AI民主化革命 一、开源周核心成果概览 2025年2月24日启动的"开源周"计划&#xff0c;DeepSeek团队连续发布三项底层技术突破&#xff1a; FlashMLA&#xff08;2.24&#xff09;&#xff1a;动态资源调度算法&am…...

WPF12-MVVM

目录 1. 什么是MVVM2. 实现简单MVVM2.1. Part 12.2. Part 21. 什么是MVVM MVVM 是 Model-View-ViewModel 的缩写,是一种用于构建用户界面的设计模式,是一种简化用户界面的事件驱动编程方式。 MVVM 的目标是实现用户界面和业务逻辑之间的彻底分离,以便更好地管理和维护应用…...

一个原教旨的多路径 TCP

前面提到过 ECMP 和 TCP 之间的互不友好&#xff0c;pacing 收益和中断开销的互斥&#xff0c;在事实上阻碍了 packet-based LB 的部署&#xff0c;也限制了交换机&#xff0c;服务器的并发性能&#xff0c;同时潜在增加了 bufferbloat 的概率&#xff0c;而适用 packet-based …...

跟着AI学vue第十三章

第十三章&#xff1a;技术传承与行业影响力塑造 到了这个阶段&#xff0c;你已经在Vue技术领域积累了深厚的经验&#xff0c;拥有了较强的技术实力。此时&#xff0c;你的重点将是把自己的知识和经验传递给更多人&#xff0c;在行业内树立起影响力&#xff0c;推动整个Vue技术…...

labview中VISA串口出现异常的解决方案

前两天在做项目时发现&#xff0c;当用VISA串口读取指令时出现了回复异常的情况&#xff0c;不管发什么东西就一直乱回&#xff0c;针对这个情况&#xff0c;后面在VISA串口中加了一个VISA寄存器清零的函数。加了之后果然好多了&#xff0c;不会出现乱回的情况&#xff0c;但是…...

StableDiffusion本地部署 2

StableDiffusion本地部署 为了做这个事&#xff0c;这是第5篇文章了&#xff0c;可谓是做足了准备。开干&#xff01; 强烈建议把我之前发的文章看一看&#xff0c;不然你会有点迷迷糊糊的。 整体思路 捋一捋思路&#xff1a; 下载三个东西&#xff0c;webui&#xff0c;py…...

ContentProvider call方法:简化跨进程通信的优雅实践

1. ContentProvider call方法&#xff1a;跨进程通信的隐藏利器 第一次接触ContentProvider的call方法时&#xff0c;我正被一个跨进程通信的需求折磨得焦头烂额。当时需要在两个独立应用间频繁传递数据&#xff0c;传统的AIDL方案让我写了大量模板代码&#xff0c;而广播方式又…...

暗黑2存档编辑神器:5分钟解锁单机模式的无限可能

暗黑2存档编辑神器&#xff1a;5分钟解锁单机模式的无限可能 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾梦想在暗黑破坏神2中拥有完美的角色&#xff1f;是否厌倦了反复刷装备的枯燥过程&#xff1f;d2s-editor这款…...

Ostrakon-VL-8B入门必看:Python安装与环境变量配置避坑指南

Ostrakon-VL-8B入门必看&#xff1a;Python安装与环境变量配置避坑指南 想玩转Ostrakon-VL-8B这类强大的多模态模型&#xff0c;第一步就是把Python环境给搭好。很多新手朋友兴致勃勃地下载了代码&#xff0c;结果一运行就卡在第一步&#xff0c;屏幕上蹦出个“python不是内部…...

广告行业里,喷绘什么场合用的比较多一点?

在广告行业中&#xff0c;喷绘凭借其色彩丰富、表现力强、成本相对较低等特点&#xff0c;在众多场合广泛应用一、商业促销与活动场合 商场与店铺&#xff1a;商场在节假日或店庆等促销活动期间&#xff0c;会大量使用喷绘。如商场外立面悬挂大幅喷绘海报&#xff0c;宣传活…...

OpenClaw多模态探索:Qwen3-14b_int4_awq解析截图内容

OpenClaw多模态探索&#xff1a;Qwen3-14b_int4_awq解析截图内容 1. 为什么需要截图解析能力 上周我在整理项目文档时遇到一个典型场景&#xff1a;需要将十几个软件界面的操作步骤整理成图文教程。传统做法是手动截图后&#xff0c;用OCR识别文字再人工编写说明——这个过程…...

如何让 Claude Code 彻底变聪明:完整记忆 + 插件体系 + 本地零占用实战教程(2026最新)!!!

从“每次重启就失忆的实习生” → “拥有长期记忆、实时知识、安全检查、结构化工作流的资深架构师”大家好&#xff0c;我最近在用 Claude Code 开发项目时&#xff0c;深深感受到上下文丢失和知识过时的痛苦。经过一番折腾&#xff0c;我把目前社区最强、最实用的插件体系全部…...

企业应用落地:星图平台Qwen3-VL+飞书智能助手搭建

企业应用落地&#xff1a;星图平台Qwen3-VL飞书智能助手搭建 1. 项目概述与准备工作 在上一篇文章中&#xff0c;我们已经完成了Qwen3-VL:30B大模型在CSDN星图AI云平台的私有化部署。本文将带您完成整个项目的最后一步——通过Clawdbot将该多模态大模型接入飞书平台&#xff…...

OpenClaw配置备份:千问3.5-9B模型切换无忧方案

OpenClaw配置备份&#xff1a;千问3.5-9B模型切换无忧方案 1. 为什么需要配置备份 上周我的主力开发机突然硬盘故障&#xff0c;重装系统后不得不从头配置OpenClaw环境。当我面对空白的终端&#xff0c;回忆那些复杂的模型参数、飞书通道密钥和自定义技能时&#xff0c;才意识…...

Zig : 关于@Vector,slice,array,arraylist实例

最近在看Zig&#xff0c;是一个有意思的语言。以一个字符串容器为例&#xff0c;来尝试了解一下Zig和其它语言有什么不同。 一、代码 const std import("std"); const print std.debug.print; pub fn main() !void {try print_arraylist();_ print_array();_ pri…...

QCustomPlot 深度解析:从渲染架构到源码内幕

一、QCustomPlot 是什么&#xff0c;不是什么QCustomPlot 是一个 Qt 绘图库&#xff0c;核心就两个文件&#xff1a;qcustomplot.h qcustomplot.cpp。不是 Qt 官方库&#xff0c;不属于 Qt 模块&#xff0c;但做得比 Qt Charts 干净得多。设计哲学&#xff1a;扩展 Qt 的 QPai…...