第八周——135. Candy
来源:互联网 发布:妙味课堂js课后练习 编辑:程序博客网 时间:2024/06/03 18:02
135. Candy
There are N children standing in a line. Each child is assigned a rating value.You are giving candies to these children subjected to the following requirements:Each child must have at least one candy.Children with a higher rating get more candies than their neighbors.What is the minimum candies you must give?
目标:给一群孩子发糖,每个孩子有一个标准值。开始时,每个孩子有一颗糖,规定标准值比他旁边高的孩子所得到的糖也要比他旁边孩子的多。
采用贪心算法,从前往后和从后往前两次遍历,开始时从前往后遍历,给孩子i+1的糖果数=给孩子i的糖果数+1,之后从后往前遍历,给孩子i-1的糖果数=max(给孩子i的糖果数+1,给孩子i-1的糖果数)。确认标准值高的孩子一定持有比他两边孩子更多的糖果。
class Solution {public: int candy(vector<int>& ratings) { int size=ratings.size(); if(size<=1) return size; vector<int> nums(size,1); for(int i=1;i< size;i++) { if(ratings[i]>ratings[i-1]) nums[i]=nums[i-1]+1; } for(int i=size-1;i>0;i--) { if(ratings[i-1]>ratings[i]) nums[i-1]=max(nums[i]+1,nums[i-1]); } int result=0; for(int i=0;i<size;i++) { result+=nums[i]; } return result; }};
0 0
- 第八周——135. Candy
- LeetCode——Candy
- *candy——leetcode
- LeetCode——Candy
- Leetcode135——Candy
- LeetCode135—Candy
- 第八周—求值
- 第八周—小明借书
- 第八周—等差数列
- LeetCode OJ——Candy
- leetcode 135 —— Candy
- 动态规划——candy
- 算法系列——Candy
- 135.Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 对于java中的readUTF和writeUTF的注意事项
- nyoj 309 BOBSLEDDING 【贪心】
- Android Studio如何查看Gradle版本
- 经典计算机书籍-自制系列
- java字符与Unicode的转换
- 第八周——135. Candy
- 使用JAVA代码发送MQ消息
- 235. Lowest Common Ancestor of a Binary Search Tree
- JS中几种常见的集合
- 2017.4.16 关于加密
- ArrayList的源码简单分析分析
- 安卓跳转与参数传递
- 《高效能人士的7个习惯》笔记
- Jquery实现点击切换单元格改变背景色