贪心算法part03算法

贪心算法part03

● 1005.K次取反后最大化的数组和
● 134. 加油站
● 135. 分发糖果

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

https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/description/

class Solution {public int largestSumAfterKNegations(int[] nums, int k) {//每次我都取最小的元素进行取反,那所有的不就最大吗while(k>0){k--;//找出最小值的下标int index=findMinIndex(nums);//改变该值(进行取反)nums[index]=-nums[index];}//整个数组再进行求和int result=0;for(int i=0;i<nums.length;i++){result+=nums[i];}return result;}public int findMinIndex(int[] nums){//记录最小值的下标int index=0;int min=nums[0];for(int i=1;i<nums.length;i++){if(min<nums[i]){min=min;index=index;}else{min=nums[i];index=i;}}return index;}
}

2.leetcode 134. 加油站

https://leetcode.cn/problems/gas-station/description/

class Solution {public int canCompleteCircuit(int[] gas, int[] cost) {//求能支持走一圈的索引//定义一个变量存储当前油量(都是加上和消耗抵消后的)int curSum=0;//定义一个变量存储总的油量(都是加上和消耗抵消后的)int totalSum=0;//出发位置的下标int start=0;for(int i=0;i<gas.length;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;}
}

3.leetcode 135. 分发糖果

https://leetcode.cn/problems/candy/description/

class Solution {public int candy(int[] ratings) {//每个孩子至少分配到 1 个糖果。//相邻两个孩子评分更高的孩子会获得更多的糖果(左右两边分别得比较,分两步去处理)//定义一个糖果数量数组,每个下标对应每个孩子,每个元素对应糖果数量int result=0;int[] candy=new int[ratings.length];candy[0]=1;//都初始化为为1// for(int i=0;i<candy.length;i++){//     candy[i]=1;// }//数组从左往右:右边孩子比左边孩子得分高for(int i=1;i<ratings.length;i++){if(ratings[i]>ratings[i-1]){//提高右边孩子的值(是左边孩子的+1)candy[i]=candy[i-1]+1;}else{candy[i]=1;}}//数组从右往左:左边孩子比右边孩子的得分高for(int i=ratings.length-2;i>=0;i--){if(ratings[i]>ratings[i+1]){//在原来的,和现在在右边孩子的+1中取最大值candy[i]=Math.max(candy[i],candy[i+1]+1);}}//计算糖果数量for(int i=0;i<candy.length;i++){result+=candy[i];}return result;}
}

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

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

相关文章

从零开始:生产环境如何部署 Bytebase

Bytebase 是面向研发和 DBA 的数据库 DevOps 和 CI/CD 协同平台。目前 Bytebase 在全球类似开源项目中 GitHub Star 数排名第一且增长最快。 Bytebase 的架构 Bytebase 是一个单体架构 (monolith)&#xff0c;前端是 Vue3 TypeScript&#xff0c;后端是 Go。前端利用 Go 1.6 …

winform-TreeView的添加节点展开所有节点

文章速览 1、添加节点核心代码示例 2、展开节点核心代码示例注意 坚持记录实属不易&#xff0c;希望友善多金的码友能够随手点一个赞。 共同创建氛围更加良好的开发者社区&#xff01; 谢谢~ 1、添加节点 核心代码 TreeView.Nodes.Add()示例 foreach (var item in content){…

MySQL面试题 | 09.精选MySQL面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

linux下485通信调试记录

1、使用linux下使用串口调试助手 linux下可以安装并使用下述串口调试工具进行串口测试&#xff1a; 1.1、cutecom cutecom是linux下常用的图形化串口调试软件&#xff0c;通过以下命令安装并打开&#xff1a; sudo apt-get install cutecom sudo cutecom显示如下&#xff1…

fetch、axios 和 XMLHttpRequest的区别

文章目录 fetch、axios和 XMLHttpRequest的区别XMLHttpRequest (XHR)XMLHttpRequest 和 fetch区别axios 和 fetch区别 fetch、axios和 XMLHttpRequest的区别 XMLHttpRequest (XHR) 官方文档&#xff1a;https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest XM…

【IPC通信--共享内存】

进程间通信目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享同样的资源。 通知事件&#xff1a;一个进程需要向另一个或一组进程发送消息&#xff0c;通知它&#xff08;它们&#xff09;发生了某种事件&#xff08;如…

git 上传出现“ ! [rejected] master -> master (non-fast-forward)”

一、设置git仓库 1、先删除原来仓库 git remote rm origin 2、添加仓库 git remote add origin [url] 注意&#xff1a;若要修改仓库 git remote origin set-url [url] 二、 在使用Git 配置公司的远程仓库时git push origin master&#xff0c;出现以下问题 xu:QProj …

【CSS】解决height = line-height 文字不垂直居中(偏上、偏下)的问题

解决办法1&#xff1a; 查看 font-family 属性&#xff0c;确认是否是因为字体而导致的不垂直居中问题。 其他小知识&#xff1a; 基线就是小写x字母的下边缘(线) 就是我们常说的 基线。line-height 属性设置的行高也就是定义的两行文字基线之间的距离! 参考文章&#xff1a;…

8-docker输出can not create unix socket /var/run/docker.sock: is a directory

1.问题描述 docker输出报cant create unix socket /var/run/docker.sock: is a directory 2.解决方案 该问题发生的原因是docker.sock目录不能创建&#xff0c;手动删除docker.sock目录后&#xff0c;重启启动docker即可 命令&#xff1a; rm -rf /var/run/docker.sock s…

网络共享服务

存储类型&#xff1a;直连式&#xff08;DAS&#xff09;:距离最近&#xff0c;存储设备且直接连接到服务器上 存储区域网络&#xff08;SAN&#xff09;&#xff1a;适用于大型应用或数据库系统&#xff0c;可以使用文件的空间&#xff0c; 以及管理空间…

边缘计算在DCIM系统中的应用

一、引言 随着云计算、物联网和人工智能等技术的快速发展&#xff0c;边缘计算正在成为一种新的计算范式&#xff0c;将数据处理和分析的能力从中心化的数据中心转移到了设备边缘。DCIM&#xff08;数据中心基础设施管理&#xff09;系统作为数据中心运营管理的核心&#xff0c…

canvas绘制图片的三种方法(图文示例)

查看专栏目录 canvas示例教程100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

Apache StringUtils:Java字符串处理工具类

简介 在我们的代码中经常需要对字符串判空&#xff0c;截取字符串、转换大小写、分隔字符串、比较字符串、去掉多余空格、拼接字符串、使用正则表达式等等。如果只用 String 类提供的那些方法&#xff0c;我们需要手写大量的额外代码&#xff0c;不然容易出现各种异常。现在有…

任务13:使用MapReduce对天气数据进行ETL(获取各基站ID)

任务描述 知识点&#xff1a; 天气数据进行ETL 重 点&#xff1a; 掌握MapReduce程序的运行流程熟练编写MapReduce程序使用MapReduce进行ETL 内 容&#xff1a; 编写MapReduce程序编写Shell脚本&#xff0c;获取MapReduce程序的inputPath将生成的inputPath文件传入到Wi…

AWS边缘媒体安全交付方案

企业如何在AWS上的边缘站点&#xff0c;安全的将优质视频内容交付给用户&#xff0c;并且禁止哪些未经过授权的访问&#xff1f;九河云将基于AWS平台提供边缘媒体安全交付解决方案 解决方案详情 在通过 Amazon CloudFront 交付时&#xff0c;免受未经授权的访问。基于添加到交…

华为机试真题实战应用【赛题代码篇】-支持优先级的队列(附Java、C语言和python代码)

目录 题目描述 思路解析 思路1 排序实现 PriorityQueue实现 思路2

事务的ACID属性是什么?为什么它们很重要?

引言 在现代的数据库和事务处理系统中&#xff0c;事务处理是一项非常重要的技术。在数据库中&#xff0c;事务是指一组被视为单个逻辑操作单元的SQL语句序列&#xff0c;它们要么全部成功执行&#xff0c;要么全部不执行。事务可以确保数据库在执行时保持一致性和可靠性。ACI…

单页面vite打包学习

前端工程化本人真的很发怵&#xff0c;一直也没有专心去突破一下&#xff0c;都是能用就用&#xff0c;所以今天小小学习一下打包&#xff0c;先从单页面应用的vite打包开始。本文主要是一些我的大白话和有限的经验&#xff0c;如有问题望指正。 一、问题 网页要从服务器请求…

读书笔记——《未来简史》

前言 《未来简史》是以色列历史学家尤瓦尔赫拉利的人类简史三部曲之一。三部分别为《人类简史》《未来简史》《今日简史》。其中最为著名的当然是《人类简史》&#xff0c;非常宏大的一本关于人类文明历史的书籍&#xff0c;绝对可以刷新历史观&#xff0c;《人类简史》这本书…

磁盘raid1降级后,mdxxx rota发生变化

背景 虚拟机系统盘vda后端使用宿主机ssd盘lvm组raid1,虚拟机内部查看vda磁盘类型(rota=1):机械硬盘,vda后端raid1降级导致磁盘类型降级:rota 0---->1,vda磁盘类型显示不正确,应该是ssd类型(rota=0); 分析 1.基础 1.1 linux磁盘类型 Rota表示磁盘类型:(1)0,表…