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;
}
相关推荐
Tim_102 分钟前
【算法专题训练】33、堆
算法
qq_12498707534 分钟前
基于springboot的糖业信息咨讯网站(源码+论文+部署+安装)
java·spring boot·后端·毕业设计·毕设
fanruitian7 分钟前
Springboot 示例模版
java·spring boot·后端
QQ_4376643149 分钟前
常见题目及答案
android·java·开发语言
老华带你飞14 分钟前
茶叶商城|基于SprinBoot+vue的茶叶商城系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot
Salt_072815 分钟前
DAY25 奇异值SVD分解
python·算法·机器学习
我超级能吃的20 分钟前
HashMap
java
℉AVE22 分钟前
点集配准---迭代最近点算法ICP(Iterative Closest Point)
算法
Dolphin_Home25 分钟前
深度解析:SpringBoot 静态类调用 Bean 的底层逻辑与最优实践
java·spring boot·后端