Leetcode 135-分发糖果

embedded/2024/10/10 22:52:17/

1)所有人分1个candy
2)从左往右查看,若满足左规则,令 candy[i] =candy[i - 1] + 1
3)从右往左查看,若满足右规则,令 candy[j] =Math.max(candy[j + 1] + 1,candy[j]),取最大值是为了在满足右规则的时候不破坏左规则

class Solution {public int candy(int[] ratings) {if(ratings.length==0) return 0;int candy[] =new int[ratings.length];int total=0;candy[0]=1;//从左向右遍历数组使其满足左规则for(int i=1;i<ratings.length;i++){candy[i]=1;if(ratings[i]>ratings[i-1]){candy[i]=candy[i-1]+1;}}//从右向左遍历数组使其满足左规则for(int i=ratings.length-2;i>=0;i--){if(ratings[i]>ratings[i+1]){candy[i]=Math.max(candy[i+1]+1,candy[i]);}}//遍历获得糖果总数for(int i=0;i<ratings.length;i++){total+=candy[i];}return total;}
}

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

相关文章

门窗对象检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

门窗对象检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

YOLOv10改进策略【注意力机制篇】| MCAttention 多尺度交叉轴注意力

一、本文介绍 本文记录的是基于MCA注意力模块的YOLOv10目标检测改进方法研究。普通的轴向注意力难以实现长距离交互&#xff0c;不利于捕获分割任务中所需的空间结构或形状&#xff0c;而MCA注意力模块通过构建了两个并行轴向注意力之间的交互&#xff0c;更有效地利用多尺度特…

Registry私有仓库可视化

Docker Registry 是一个用于存储和分发 Docker 镜像的服务&#xff0c;它支持构建私有仓库来管理组织内部的应用程序和镜像。然而&#xff0c;默认的 Docker Registry 并没有提供图形界面&#xff0c;这使得管理镜像变得不太直观。为了方便管理和查看私有仓库中的镜像&#xff…

卷积的计算——nn.Conv2d(Torch.nn里的Convolution Layers模块里的Conv2d类)

**前置知识&#xff1a; 1、张量和通道 张量&#xff1a;多维数组&#xff0c;用来表示数据&#xff08;图像、视频等&#xff09; 通道&#xff1a;图像数据的一部分&#xff0c;表示不同的颜色或特征层 通道只是张量的其中一个维度 以一张RGB图像为例&#xff0c; 该图像…

ffmpeg面向对象——AVInputFormat与URLProtocol啥关系

《ffmpeg面向对象-rtsp拉流相关对象》和《ffmpeg面向对象——拉流协议匹配机制探索》探索过了输入格式匹配和底层协议匹配&#xff0c;且ffmpeg拉流是先是匹配输入格式——抽象为AVInputFormat类&#xff0c;然后再匹配url协议类——抽象为URLProtocol类。 它们是啥关系&#…

RK3588开发笔记-PCIE接口2.5G网卡RTL8125调试记录

目录 前言 一、RTL8125 功能特性详解: 1. 高带宽和高效能 2. 向下兼容性 3. 硬件卸载引擎 4. 节能特性 5. VLAN与QoS支持 6. 多操作系统支持 二、硬件原理图连接 三、内核配置 四、网卡调试 总结 前言 在RK3588平台上调试2.5G网卡(Realtek RTL8125)时,我们会用…

【AI系统】AI在不同领域的应用与行业影响

本文将探讨AI在不同技术领域和行业中的广泛应用&#xff0c;以及这些应用如何影响和改变我们的世界。 I. 引言 AI技术正日益渗透到各个技术领域&#xff0c;从计算机视觉到自然语言处理&#xff0c;再到音频处理&#xff0c;AI的应用正变得越来越广泛。这些技术的发展不仅推动…

Java为啥有的地方赋值是 数据类型 变量名 = 值; 有的是 一个单词 变量名 = new 又是那个单词();

在Java中&#xff0c;你提到的两种赋值方式实际上反映了Java中对象和非对象&#xff08;基本数据类型&#xff09;之间的区别。这是Java&#xff08;以及许多其他面向对象编程语言&#xff09;的一个核心特性。 第一种&#xff1a;数据类型 变量名 值; 这种方式用于基本数据…