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

代码随想录算法训练营第三十四 |● 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果

今天的解析写在了代码注释中

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

讲解链接:https://programmercarl.com/1005.K%E6%AC%A1%E5%8F%96%E5%8F%8D%E5%90%8E%E6%9C%80%E5%A4%A7%E5%8C%96%E7%9A%84%E6%95%B0%E7%BB%84%E5%92%8C.html

class Solution {
public:static bool cmp(int a,int b) {return abs(a)>abs(b);}int largestSumAfterKNegations(vector<int>& nums, int K) {//所有值按绝对值大小排序sort(nums.begin(),nums.end(),cmp);for(int i=0;i<nums.size();i++) {//先把负值变为正值if(nums[i]<0 && K>0) {nums[i] *= -1;K--;}}//如果K还没用完,就把最小的值拿出来取负if(K%2 == 1) nums[nums.size()-1] *= -1;int result = 0;for(int a : nums) result +=a;return result;}
};

134. 加油站

讲解链接:https://programmercarl.com/0134.%E5%8A%A0%E6%B2%B9%E7%AB%99.html

class Solution {
public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {//逐个元素作为起点进行判断for(int i=0;i<cost.size();i++) {//出发往下一个加油站的剩余油量int shengyu = gas[i]-cost[i];//定义index用来循环下标,防止越界int index = (i+1)%cost.size();//保证油量可以走到下一个点模拟以i为起点行驶一圈while(shengyu > 0 && index!=i) {//累加剩余油量shengyu += gas[index] - cost[index];//末尾的下一个点指向数组头index = (index+1) % cost.size();}if(shengyu >=0 && index==i)return i;}return -1;}
};

135. 分发糖果

讲解链接:https://programmercarl.com/0135.%E5%88%86%E5%8F%91%E7%B3%96%E6%9E%9C.html

有两个过程,前向判断(i与i-1两两比较),大的一项直接+1
后向过程(i与i+1两两比较),这里为了避免重复(1,2,1)这种情况,需要 max( t[i] , t[i+1]+1)

class Solution {
public:int candy(vector<int>& ratings) {vector<int> t(ratings.size(),1);//从前往后,i与i-1进行比较//从第二个数开始,这里是 i 与 i-1 作比较for(int i=1; i<ratings.size();i++) {if(ratings[i] > ratings[i-1])t[i]=t[i-1]+1;//比他左边大一个,这里直接改}//从后往前//从倒数第二个数开始,比较 i 与 i+1//max( t[i] , t[i+1]+1)for(int i = ratings.size()-2; i>=0;i--) {if(ratings[i]>ratings[i+1]) t[i] = max(t[i],t[i+1]+1);}int result = 0;for(int i=0;i<t.size();i++)result+=t[i];return result;}
};

相关文章:

代码随想录算法训练营第三十四 |● 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果

今天的解析写在了代码注释中 1005.K次取反后最大化的数组和 讲解链接&#xff1a;https://programmercarl.com/1005.K%E6%AC%A1%E5%8F%96%E5%8F%8D%E5%90%8E%E6%9C%80%E5%A4%A7%E5%8C%96%E7%9A%84%E6%95%B0%E7%BB%84%E5%92%8C.html class Solution { public:static bool cmp(i…...

GB-T 43206-2023 信息安全技术 信息系统密码应用测评要求

GB-T 43206-2023 信息安全技术 信息系统密码应用测评要求 编写背景 随着信息技术的飞速发展&#xff0c;信息系统在社会经济活动中扮演着越来越重要的角色。信息安全问题也随之成为社会关注的焦点。GB-T 43206-2023《信息安全技术 信息系统密码应用测评要求》是针对信息系统中…...

线程进阶-1 线程池

一.说一下线程池的执行原理 1.线程池的七大核心参数 &#xff08;1&#xff09;int corePoolSize&#xff1a;核心线程数。默认情况下核心线程会一直存活&#xff0c;当设置allowCoreThreadTimeout为true时&#xff0c;核心线程也会被超时回收。 &#xff08;2&#xff09;i…...

LabVIEW中PID控制器系统的噪声与扰动抑制策略

在LabVIEW中处理PID控制器系统中的噪声和外部扰动&#xff0c;需要从信号处理、控制算法优化、硬件滤波和系统设计四个角度入手。采用滤波技术、调节PID参数、增加前馈控制和实施硬件滤波器等方法&#xff0c;可以有效减少噪声和扰动对系统性能的影响&#xff0c;提高控制系统的…...

JavaWeb笔记整理+图解——Listener监听器

欢迎大家来到这一篇章——Listener监听器 监听器和过滤器都是JavaWeb服务器三大组件&#xff08;Servlet、监听器、过滤器&#xff09;之一&#xff0c;他们对于Web开发起到了不可缺少的作用。 ps&#xff1a;想要补充Java知识的同学们可以移步我已经完结的JavaSE笔记&#x…...

AIGC智能办公实战 课程,祝你事业新高度

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;已经渗透到我们生活的方方面面&#xff0c;从智能家居到自动驾驶&#xff0c;从医疗诊断到金融分析&#xff0c;AI助手正在改变我们的工作方式和生活质量。那么&#xff0c;你是否想过自己也能从零开始&#xff0c;…...

专科生听劝 这种情况你就不要专转本了

罗翔老师说过&#xff0c;读书学习主要作用是提高人的下限 我们能掌握的只有学习&#xff0c;以确保学历不会太差再去等机遇让自己活得更好 大部分情况来说&#xff0c;专科生努力去专转本挺好的提升自己准没错&#xff0c;我当年也是一心这样想的&#xff0c;但今天不得不说点…...

MySQL增删查改初阶

目录 一&#xff0c;数据库操作 1.关键字 show 显示当前数据库有哪些&#xff1a;show databases&#xff1b; 2.创建数据库 3.选中数据库 4.删除数据库 二&#xff0c;表的操作&#xff0c;在选中数据库的基础之上 1.查看表的结构 2.创建表 3.查看当前选中的数据库中…...

IService 接口中定义的常用方法

文心一言生成 以下是一些 IService 接口中定义的常用方法&#xff08;以你提供的 UserSQL 类为例&#xff0c;该类继承自 ServiceImpl&#xff0c;因此也会拥有这些方法&#xff09;&#xff1a; 插入&#xff08;新增&#xff09; boolean save(T entity): 插入一条记录&…...

api网关kong对高频的慢接口进行熔断

一、背景 在生产环境&#xff0c;后端服务的接口响应非常慢&#xff0c;是因为数据库未创建索引导致。 如果QPS低的时候&#xff0c;因为后端服务有6个高配置的节点&#xff0c;虽然接口慢&#xff0c;还未影响到服务的正常运行。 但是&#xff0c;当QPS很高的时候&#xff0c…...

python作业:实现一个任务列表管理系统,使用到python类、对象、循环等知识

实现一个简单的任务列表管理系统&#xff0c;可以用于python学习的作业或者练习。系统的功能包括&#xff1a; 用户可以添加任务、查看任务列表、标记任务为已完成&#xff0c;以及删除任务。 代码如下&#xff1a; class Task: def __init__(self, name, completedFalse):…...

大宋咨询(深圳产品价格调查)如何开展电子商品渠道价格监测

开展电子商品渠道价格监测是当今电商时代的重要任务之一。随着电子商务的迅猛发展&#xff0c;电子商品的价格波动日益频繁&#xff0c;市场竞争也愈发激烈。为了解优化渠道管理策略&#xff0c;提升品牌竞争力&#xff0c;大宋咨询&#xff08;深圳市场调查&#xff09;受客户…...

py黑帽子学习笔记_web攻击

python网络库 py2的urllib2 py3好像把urllib2继承到了标准库urllib&#xff0c;直接用urllib就行&#xff0c;urllib2在urllib里都有对应的接口 py3的urllib get请求 post请求&#xff0c;和get不同的是&#xff0c;先把post请求数据和请求封装到request对象&#xff0c;再…...

MVC、MVP 和 MVVM 架构总结

MVC、MVP 和 MVVM 是常见的软件架构模式&#xff0c;主要用于组织应用程序的结构&#xff0c;特别是在用户界面和业务逻辑之间进行分离。以下是对它们的详细解释&#xff0c;包括它们的差异、优缺点。 MVC&#xff08;Model-View-Controller&#xff09; 结构 Model&#xf…...

C++ vector的使用和简单模拟实现(超级详细!!!)

目录 前言 1.STL是什么 2.vector使用 2.1 vector简介 2.2 常用接口函数 1. 构造函数 2.operator[ ]和size&#xff0c;push_back 3. 用迭代器进行访问和修改 4. 范围for遍历 5.修改类型函数 pop_back find insert erase 6. 容量相关函数capacity resize reserve 3.…...

MySQL中,不能在一个DML(数据操纵语言,如INSERT, UPDATE, DELETE)语句中直接引用目标表进行子查询

错误示例 <delete id"deleteOldRelations">DELETE FROM departments_closure_tableWHERE descendant IN ( SELECT descendant FROM departments_closure_tableWHERE ancestor #{departmentId})</delete>程序运行之后&#xff0c;会报错&#xff1a;You …...

【CH32V305FBP6】4. systick 配置

配置 main.c void SYSTICK_Init_Config(u_int64_t ticks) {SysTick->SR & ~(1 << 0);//clear State flagSysTick->CMP ticks - 1;SysTick->CNT 0;SysTick->CTLR 0xF;NVIC_SetPriority(SysTicK_IRQn, 15);NVIC_EnableIRQ(SysTicK_IRQn); }中断计数 …...

【PECL】在扩展中实现 autoload

【PECL】在扩展中实现 autoload 摘要PHP代码想这么写C 代码这么实现 摘要 php-8.3.x 用扩展写个框架。想实现类管理器&#xff0c;自动加载&#xff0c;上代码&#xff1a; PHP代码想这么写 $ws new \Ziima\Applet(); $ws->import(Ziima, ../base/core); $ws->runAu…...

企业微信H5授权登录

在企业中如果需要在打开的网页里面携带用户的身份信息&#xff0c;第一步需要获取code参数 如何实现企业微信H5获取当前用户信息即accessToken&#xff1f; 1.在应用管理--》创建应用 2.创建好应用&#xff0c;点击应用主页-》设置-》网页-》将授权链接填上去 官方文档可以看…...

玩机进阶教程------修改gpt.bin分区表地址段 完全屏蔽系统更新 fast刷写分区表 操作步骤解析【二】

上期博文简单说明了分区表的基本常识。我们在有些环境中需要屏蔽手机的系统更新选项。除了以前博文中说明的修改系统更新下载文件夹的方法。还可以通过修改分区表类达到目的。在一些辅助维修工具上面带修改分区表功能。修改后效果为屏蔽系统更新和可以恢复出厂。原则上不深刷都…...

GLM-OCR技术解析专栏:在CSDN分享模型优化心得

GLM-OCR技术解析专栏&#xff1a;在CSDN分享模型优化心得 大家好&#xff0c;我是老张&#xff0c;一个在AI和计算机视觉领域摸爬滚打了十来年的工程师。最近几年&#xff0c;OCR&#xff08;光学字符识别&#xff09;技术发展得飞快&#xff0c;从过去只能识别清晰打印体&…...

GIL已死,GIL万岁?——2024大厂Python并发岗面试题库首发(含性能压测对比数据)

第一章&#xff1a;GIL已死&#xff0c;GIL万岁&#xff1f;——2024大厂Python并发岗面试题库首发&#xff08;含性能压测对比数据&#xff09;一道高频真题&#xff1a;为什么 asyncio.run() 启动的协程无法被 multiprocessing.Process 并发执行&#xff1f; 该问题直指 Pyth…...

使用Dependency Check命令行工具高效检测Java项目中的安全漏洞

1. 为什么Java开发者需要关注依赖库安全&#xff1f; 如果你是一名Java开发者&#xff0c;可能经常遇到这样的情况&#xff1a;项目运行得好好的&#xff0c;突然某天系统被入侵了&#xff0c;排查半天才发现是某个第三方库存在安全漏洞。这种情况在现实开发中并不少见&#xf…...

OpenClaw沙盒体验:不装本地环境玩转GLM-4.7-Flash

OpenClaw沙盒体验&#xff1a;不装本地环境玩转GLM-4.7-Flash 1. 为什么选择沙盒体验&#xff1f; 作为一个长期关注AI自动化工具的技术爱好者&#xff0c;我一直在寻找一个既能快速验证想法又不会污染本地开发环境的方式。OpenClaw的本地部署虽然强大&#xff0c;但配置过程…...

Python3与pysoem实战:基于SDO的EtherCAT伺服电机多模式控制

1. 环境准备与基础配置 在开始EtherCAT伺服电机控制之前&#xff0c;我们需要搭建一个稳定的开发环境。我推荐使用Ubuntu 20.04 LTS作为基础系统&#xff0c;这个版本对Python3和网络驱动的支持都非常完善。在实际项目中&#xff0c;我发现普通用户权限往往无法直接操作网卡设备…...

SeqGPT-560M惊艳效果:支持多值字段提取——同一段文本中识别全部手机号而非仅首个

SeqGPT-560M惊艳效果&#xff1a;支持多值字段提取——同一段文本中识别全部手机号而非仅首个 在信息爆炸的时代&#xff0c;我们每天都要处理海量的非结构化文本。无论是从一份简历里找出候选人的所有联系方式&#xff0c;还是从一份合同里提取所有涉及的金额和日期&#xff…...

Informer实战指南:从ProbSparse自注意力到生成式解码器的长序列预测优化

1. Informer模型的核心突破&#xff1a;为什么比Transformer更适合长序列预测&#xff1f; 第一次看到Informer论文时&#xff0c;最让我惊讶的是它在AAAI 2021上击败了众多Transformer变体获得最佳论文。这个专为长序列预测&#xff08;Long Sequence Time-series Forecasting…...

卡尔曼滤波+LQR实战:用Python手写一个LQG控制器(附Jupyter Notebook)

卡尔曼滤波LQR实战&#xff1a;用Python手写一个LQG控制器&#xff08;附Jupyter Notebook&#xff09; 在机器人控制和自动化系统设计中&#xff0c;LQG&#xff08;Linear Quadratic Gaussian&#xff09;控制是一种经典且强大的控制策略。它巧妙地将卡尔曼滤波的状态估计能力…...

3步实现!本地化语音转文字工具TMSpeech全场景应用指南

3步实现&#xff01;本地化语音转文字工具TMSpeech全场景应用指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 在数字化办公与内容创作领域&#xff0c;如何在保护隐私的前提下实现高效语音转文字&#xff1f;TM…...

在 Java 并发编程和高性能数据处理中,HashMap 和 ConcurrentHashMap 是两大核心容器。它们在 JDK 8+ 中的演进(链表转红黑树、锁机制优化)直接解决了特定业务场景下的性

在 Java 并发编程和高性能数据处理中&#xff0c;HashMap 和 ConcurrentHashMap 是两大核心容器。它们在 JDK 8 中的演进&#xff08;链表转红黑树、锁机制优化&#xff09;直接解决了特定业务场景下的性能瓶颈。 以下结合具体业务场景&#xff0c;深度解析它们的内部机制及设计…...