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;
}
相关推荐
wubba lubba dub dub7502 分钟前
第二十七周 学习周报
学习·算法·机器学习
IMPYLH3 分钟前
Lua 的 select 函数
java·开发语言·笔记·后端·junit·游戏引擎·lua
小石头 100863 分钟前
【JavaEE】死锁和避免方法
java·java-ee
小白程序员成长日记5 分钟前
力扣每日一题 2025.11.30
数据结构·算法·leetcode
崎岖Qiu6 分钟前
二叉树的非递归后序遍历-双栈法
算法·二叉树·力扣·深度优先遍历·
TDengine (老段)8 分钟前
TDengine 时区函数 TIMEZONE 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
hashiqimiya9 分钟前
android将json数据传递到后端springboot
java·开发语言
竹杖芒鞋轻胜马,夏天喜欢吃西瓜10 分钟前
哈希算法解析
算法·哈希算法
Yu_00F12 分钟前
SpringBoot自动配置原理学习与基于原理自定义aliyun-oss-spring-boot-starter依赖
java
雨中飘荡的记忆13 分钟前
设计模式之组合模式
java·设计模式