算法训练营第34天|LeetCode 1005.K取反后最大化的数组和 134.加油站 135.分发糖果

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

题目链接:

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

解题思路:

先处理负数,在处理最小的数。

代码:

class Solution {
public:int largestSumAfterKNegations(vector<int>& nums, int k) {sort(nums.begin(), nums.end());int result = 0;for (int i = 0; i < nums.size(); i++) {if (nums[i] < 0 && k > 0) {nums[i] = -nums[i];k--;}result += nums[i];}sort(nums.begin(), nums.end());result -= nums[0] * (k % 2 == 0 ? 0 : 2);return result;}
};

LeetCode 134.加油站

题目链接:

LeetCode 134.加油站

解题思路:

total_sum记录能否走到终点,cur_sum为判断起始点位置为小于0的后一个点。

代码:

class Solution {
public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {int size = gas.size();int total_sum = 0, cur_sum = 0;int Index = 0;for (int i = 0; i < size; i++) {cur_sum += gas[i] - cost[i];total_sum += gas[i] - cost[i];if (cur_sum < 0) {cur_sum = 0;Index = i+1;}}if (total_sum < 0)return -1;return Index;}
};

LeetCode 135.分发糖果

题目链接:

LeetCode 135.分发糖果

解题思路:

左右两边分别计算应该满足的糖果数量。先从左往右,如果比前面的大,就加一,否则则置一。

从右往左,如果比前面的大,就加一,否则取和原来相比的最大的。

代码:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801887.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp引入微信小程序版本VantUI,使用VantUI的自定义tabbar,并解决自定义tabbar出现闪烁的情况

视频教程地址&#xff1a;https://www.bilibili.com/video/BV13m41167iG 1.uniapp引入微信小程序版本VantUI 去vant官网下载源码&#xff0c;源码放在github&#xff0c;自行去下载下来 https://vant-contrib.gitee.io/vant-weapp/#/home 在pages.json的globalStyle里面注册组…

php根据用户地址获取经纬度

记录&#xff1a;利用高德地图API&#xff0c;根据用户地址获取经纬度 API文档&#xff1a; https://lbs.amap.com/api/webservice/guide/api/georegeo 调用API代码 <?php /*** 服务器接口类*/ namespace queryAreaInfo;class queryArea{// 根据详细地址获取经纬度publi…

打印月历 Open Judge

题面链接: http://noi.openjudge.cn/ch0113/24/ 题目描述: 评析: 大模拟题&#xff0c;考察的是你的耐心和毅力&#xff01;很不错的模拟题练习题&#xff0c;小白(like me)可以练一练 思路: 先一个月一个月的模拟&#xff0c;求出来题目问的这个一年的这一个月的第一天是星期…

欧盟网络安全局:公共数据空间中的个人数据保护设计(上)

文章目录 前言一、背景:欧盟数据空间(一)欧盟数据空间的设计原则二、欧盟数据空间中数据保护的注意事项(一)欧盟数据空间关键术语(二)数据共享环境中输入隐私和输出隐私问题(三)数据保护工程的作用(四)数据空间中的数据保护影响评估(五)问责制的主要内容(六)通过…

Day30 回溯 LeedCode 332.重新安排行程 51. N皇后 37. 解数独 蓝桥杯 与或异或

332. 重新安排行程 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&#xff0c;所以该行程必须从 JFK…

python selenium向html中写入内容

js_kind document.getElementById("returnName1").innerHTML"盾构设备(B010101)" self.Driver.execute_script(js_kind) 通过JS注入HTML代码 如果想输入带html格式的文本可以通过js注入&#xff0c;代码如下&#xff1a; from selenium import webdrive…

Macos 部署自己的privateGpt(2024-0404)

Private Chatgpt 安装指引 https://docs.privategpt.dev/installation/getting-started/installation#base-requirements-to-run-privategpt 下载源码 git clone https://github.com/imartinez/privateGPT cd privateGPT安装软件 安装&#xff1a; Homebrew /bin/bash -c…

java内存模型-DCL

DCL DCL&#xff08;Double-Checked Locking&#xff09;是一种用于实现线程安全的延迟初始化的技术。在Java中&#xff0c;DCL通常用于单例模式的实现。 DCL的基本思想是通过两次检查锁来实现延迟初始化。在第一次检查时&#xff0c;如果对象已经被初始化了&#xff0c;那么…

径流场水土流失自动监测系统的使用

TH-LS1随着环保意识的日益增强&#xff0c;水土流失问题已经成为全球关注的焦点。水土流失不仅破坏了生态环境&#xff0c;还对农业生产、水资源保护等方面产生了严重影响。为了有效监测和控制水土流失&#xff0c;径流场水土流失自动监测系统应运而生。 一、径流场水土流失自…

希尔排序解读

在算法世界中&#xff0c;排序算法是至关重要的一部分。而希尔排序&#xff08;Shell Sort&#xff09;作为一种基于插入排序的改进算法&#xff0c;通过允许交换非相邻元素&#xff0c;从而在一定程度上提高了排序效率。本文将深入探讨希尔排序的原理、实现方式以及它的性能特…

.net 实现的 Webscoket 对象的一些细节和疑问

这两天服务器和客户端进行了webscoket的联调&#xff0c;在和C#的webscoket实现联调的过程中&#xff0c;发现一些有趣的事情。 在我自己C的实现中&#xff0c;webscoket对上层应用而言是完全透明的&#xff0c;webscoket 只是一个传输协议&#xff0c;用户对此不需要有任何关…

Linux C++ 023-类模板

Linux C 023-类模板 本节关键字&#xff1a;Linux、C、类模板 相关库函数&#xff1a;getCapacity、getSize 类模板语法 类模板的作用&#xff1a;建立一个通用的类&#xff0c;类中的成员 数据类型可以不具体制定&#xff0c; 用一个虚拟的类型代表语法&#xff1a; templa…

stable diffusion的从安装到使用

stable-diffusion&#xff0c;一个免费开源的文生图软件&#xff0c;文章主要讲怎么从源码开始安装&#xff0c;以及使用的方式 git地址&#xff1a;https://github.com/AUTOMATIC1111/stable-diffusion-webui 本人电脑环境win10&#xff0c;软件pycharm&#xff0c;需要提前…

Java关键字保留字(共53个)

保留字&#xff08;2个&#xff09; 保留字&#xff08;Reserve Word&#xff09;&#xff1a;即它们在Java现有版本中没有特殊含义&#xff0c;以后版本可能会作为有特殊含义的词&#xff0c;或者该词虽然在Java中没有特殊含义&#xff0c;以后版本也不打算使用&#xff0c;但…

jeecg-boot 3.6使用微服务启动详细配置

1&#xff1a;运行sql文件 2&#xff1a;配置host 路径如下 127.0.0.1 jeecg-boot-redis 127.0.0.1 jeecg-boot-mysql 127.0.0.1 jeecg-boot-nacos 127.0.0.1 jeecg-boot-gateway 127.0.0.1 jeecg-boot-system 127.0.0.1 jeecg-boot-xxljob 127.0.0.1 jeecg-boot-rabbitmq 3…

LeetCode第十五题:三数之和【15/1000 python】

&#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 作者专栏每日更新&#xff1a; LeetCode解锁1000题: 打怪升级之旅 LeetCode解锁1000题: 打怪升级之旅htt…

gitea详细介绍

Gitea 是一个轻量级、易于安装的 Git 服务&#xff0c;提供了类似于 GitHub 的功能&#xff0c;如代码托管、问题追踪、团队合作等。它使用 Go 语言开发&#xff0c;可以在自己的服务器上进行部署&#xff0c;从而实现自托管的 Git 服务。Gitea 具有用户友好的界面&#xff0c;…

数据研发八股文(1)

数据库 hadoop与spark结构 Hadoop和Spark在结构上都包含了多个核心组件&#xff0c;但它们的具体实现和用途有所不同。 Hadoop的结构主要包括HDFS&#xff08;Hadoop Distributed File System&#xff09;和MapReduce。HDFS是一个分布式文件系统&#xff0c;用于存储海量的数据…

【管理咨询宝藏52】AA银行企业文化策略分析报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏52】AA银行企业文化策略分析报告 【格式】PPT版本&#xff0c;可编辑 【关键词】战略规划、商业分析、管理咨询 【强烈推荐】这是一套市面上非常…

npm包安装与管理:深入解析命令行工具的全方位操作指南,涵盖脚本执行与包发布流程

npm&#xff0c;全称为Node Package Manager&#xff0c;是专为JavaScript生态系统设计的软件包管理系统&#xff0c;尤其与Node.js平台紧密关联。作为Node.js的默认包管理工具&#xff0c;npm为开发者提供了便捷的方式来安装、共享、分发和管理代码模块。 npm作为JavaScript世…