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;
}
相关推荐
想不明白的过度思考者几秒前
你真的会打印日志吗?基于 Spring Boot 的全方位日志指南
java·spring boot·后端·日志
路中行2 分钟前
Spring Cloud Gateway 整合 Knife4j 聚合文档:避坑指南与解决方案(Spring Boot 3.X)
java·spring boot·spring cloud
NGC_661121 分钟前
二分查找算法
java·javascript·算法
ADDDDDD_Trouvaille23 分钟前
2026.2.21——OJ95-97题
c++·算法
blackicexs28 分钟前
第五周第七天
数据结构·算法
海兰38 分钟前
ES9.x 银行场景:银行卡可疑交易风控工作流示例
java·elasticsearch·搜索引擎
Drifter_yh1 小时前
「JVM」 深入剖析 JVM 内存结构:从底层原理到线上排查
java·jvm
莫寒清2 小时前
Java 线程池详解
java·面试
近津薪荼2 小时前
dfs专题10——全排列 II
算法·深度优先