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

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

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

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. 63 贪心算法分发糖果问题

    2023-12-28 20:30:02       40 阅读
  2. 分发糖果——使用贪心算法

    2023-12-28 20:30:02       14 阅读
  3. 61 贪心算法救生艇问题

    2023-12-28 20:30:02       38 阅读
  4. Day34|贪心算法|分发糖果

    2023-12-28 20:30:02       25 阅读
  5. 60 贪心算法优势洗牌-田忌赛马问题

    2023-12-28 20:30:02       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-28 20:30:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-28 20:30:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-28 20:30:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-28 20:30:02       20 阅读

热门阅读

  1. 每日一题:求连续子数组的最大和

    2023-12-28 20:30:02       42 阅读
  2. Hotspot源码解析-第八章

    2023-12-28 20:30:02       38 阅读
  3. C++ string类详解 适合零基础小白

    2023-12-28 20:30:02       33 阅读
  4. 闰年显示#洛谷

    2023-12-28 20:30:02       34 阅读
  5. 过滤器的简单使用

    2023-12-28 20:30:02       43 阅读
  6. Redis单线程的正确理解(一)

    2023-12-28 20:30:02       43 阅读