63 贪心算法解分发糖果的问题

问题描述:老师想给孩子们分发糖果,由N个孩子占城了一条直线,老师会根据每个孩子的表现,预先给他们评分,你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配一个糖果,评分更高的孩子必须比他两侧邻位孩子获得更多的糖果,这样下来老师需要准备多少颗糖果,

贪心算法求解:左右两次遍历,第一次遍历从左往右,要是右边比左边高,则右边增加一个糖果,第二次遍历从右往左,如果左边比右边高,则左边增加一个糖果,

java 复制代码
public numberCandy(int []nums)
{
nums[0]=1;
for(int i=1;i<nums.length;i++)
{
if(nums[i]>nums[i-1])
{
nums[i]=nums[i-1]+1;
}else
{
if(nums[i-1]==1)
{
nums[i]=1;
}else
{
nums[i]=nums[i-1]+1;
}
}
}
for(int i=nums.length-2;i>=0;i--)
{
if(nums[i]>nums[i+1]){nums[i]=nums[i-1]+1;}

}
int total=0;
for(int num:nums)
{
total+=num;
}
​​​​​​​return total;
}
相关推荐
小欣加油1 天前
leetcode 1513 仅含1的子串数
c++·算法·leetcode·职场和发展
q***78781 天前
Spring学习——新建module模块
java·学习·spring
q***11651 天前
在Nginx上配置并开启WebDAV服务的完整指南
java·运维·nginx
树在风中摇曳1 天前
【C语言预处理器全解析】宏、条件编译、字符串化、拼接
c语言·算法
白起那么早1 天前
我又开发了一款idea插件-ContiNewGenerator
java·后端
CodeWizard~1 天前
P7149 [USACO20DEC] Rectangular Pasture S题解
算法
装不满的克莱因瓶1 天前
【Java架构师体系课 | MySQL篇】③ Explain执行计划详解
java·数据库·mysql·架构·优化·索引·explain
王煜苏1 天前
最新版idea2025 配置docker 打包spring-boot项目到生产服务器全流程,含期间遇到的坑
java·docker·容器
fashion 道格1 天前
用 C 语言破解汉诺塔难题:递归思想的实战演练
c语言·算法
李玮豪Jimmy1 天前
Day18:二叉树part8(669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树)
java·服务器·算法