【刷题】代码随想录算法训练营第三十三天|1005、K次取反后最大化的数组和,134、加油站,135、分发糖果

embedded/2024/9/24 16:29:14/

目录

    • 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--;}}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) {int curSum = 0;int totalSum = 0;int start = 0;for (int i = 0; i<gas.size(); i++){curSum += gas[i] - cost[i];totalSum += gas[i] - cost[i];if (curSum < 0){start = i+1;curSum = 0;}}if (totalSum < 0) return -1;return start;}
};

135、分发糖果

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

从前到后 和 从后到钱 两遍贪心遍历。

class Solution {
public:int candy(vector<int>& ratings) {vector<int> candyVec(ratings.size(), 1);for (int i=1; i < ratings.size(); i++){if (ratings[i-1] < ratings[i]) candyVec[i] = candyVec[i-1] +1;}for (int i=ratings.size()-1; i>0;i--){if (ratings[i-1]>ratings[i]) candyVec[i-1] = max(candyVec[i-1], candyVec[i]+1);}int result = 0;for (int r:candyVec) result+=r;return result;}
};

http://www.ppmy.cn/embedded/37774.html

相关文章

如何使用Python下载哔哩哔哩(Bilibili)视频字幕

在本文中&#xff0c;我将向大家展示如何使用Python下载哔哩哔哩&#xff08;Bilibili&#xff09;视频的字幕。通过这个方法&#xff0c;你可以轻松地获取你喜欢的视频的字幕文件&#xff0c;方便学习和交流。 准备工作 在开始之前&#xff0c;我们需要安装一些必要的库&…

Photoshop中图像编辑的基本操作

Photoshop中图像编辑的基本操作 Photoshop中调整图像窗口大小Photoshop中辅助工具的使用网格的使用标尺的使用注释工具的使用 Photoshop中置入嵌入式对象Photoshop中图像与画布的调整画布大小的修改画布的旋转图像尺寸的修改 Photoshop中撤销与还原采用快捷键进行撤销与还原采用…

WP All Import Pro插件下载 - 一键导入,无限可能

在当今快节奏的数字时代&#xff0c;网站内容的更新和管理是每个网站管理员和开发者的日常工作。但是&#xff0c;传统的手动更新方法不仅耗时&#xff0c;而且容易出错。现在&#xff0c;有了WP All Import Pro&#xff0c;这一切都将改变。 WP All Import Pro 是一款专为Wor…

MQTT对比HTTP

吞吐量&#xff1a;根据3G网络的测量结果&#xff0c;MQTT的吞吐量比HTTP快93倍。这意味着在相同的网络条件下&#xff0c;MQTT能够更有效地传输数据&#xff0c;从而在处理大量数据或实时数据传输时具有更高的效率。架构与模式&#xff1a;MQTT基于发布/订阅模型&#xff0c;提…

STM32F4xx开发学习_SysTick

SysTick系统定时器 SysTick属于CM4内核外设&#xff0c;有关寄存器的定义和部分库函数都在core_cm4.h这个头文件中实现&#xff0c;可用于操作系统&#xff0c;提供必要的时钟节拍 SysTick简介 SysTick是一个 24 位向下定时器&#xff0c;属于CM4内核中的一个外设&#xff0c;…

【算法】基础算法004之前缀和

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 前言 本篇文章为大家带来前缀和…

seo伪原创文章工具,批量生成文章效率更高

在seo优化工作中&#xff0c;网站更新文章是每个seo人员必做的工作&#xff0c;每天定时定点的更新文章有利于网站的排名&#xff0c;但是长期需要写文章也会让seo人员陷入写作困境&#xff0c;如是&#xff0c;很多seo人员也都有自己的解决方法&#xff0c;他们会选择用seo伪原…

拓扑排序——数据结构

拓扑排序是对有向无环图&#xff08;DAG&#xff09;的顶点进行线性排序的方法。关键在于每个顶点代表了一个任务&#xff0c;而每条有向边代表了任务间的先后依赖关系。这个排序保证了每个任务只在它依赖的任务完成后才开始。 拓扑排序的本质是这样的&#xff1a;你有一堆任务…