LeetCode 135 Candy (贪心 构造)
来源:互联网 发布:奶奶抱走红网络 编辑:程序博客网 时间:2024/05/20 23:59
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?
题目链接:https://leetcode.com/problems/candy/
题目分析:先从左到右贪心构造,根据rating的大小尽可能少的发糖,然后从右向左修正一下即可
public class Solution { public int candy(int[] ratings) { int len = ratings.length; if (len < 2) { return len; } int[] candy = new int[len + 1]; candy[0] = 1; for (int i = 1; i < len; i ++) { if (ratings[i] > ratings[i - 1]) { candy[i] = candy[i - 1] + 1; } else if (candy[i] == candy[i - 1]){ candy[i] = candy[i - 1]; } else { candy[i] = 1; } } int ans = 0; for (int i = len - 1; i > 0; i --) { if (candy[i] >= candy[i - 1] && ratings[i] < ratings[i - 1]) { candy[i - 1] = Math.max(candy[i - 1], candy[i] + 1); } ans += candy[i]; } return ans + candy[0]; }}
0 0
- LeetCode 135 Candy (贪心 构造)
- [leetcode][贪心] Candy
- LeetCode 135. Candy--贪心算法
- leetcode 135. Candy 分糖果 + 贪心算法
- [Leetcode 135, Hard] Candy
- LeetCode: Candy [135]
- [leetcode 135] Candy
- LeetCode(135) Candy
- [LeetCode 135]Candy
- LeetCode 135 Candy
- leetcode || 135、Candy
- [leetcode-135]Candy(java)
- leetcode 135: Candy
- leetCode #135 Candy
- 【LeetCode-135】Candy
- Leetcode (135) Candy
- LeetCode(135)Candy
- Leetcode. 135 Candy(Hard)
- C语言 将一个整形数字二进制位进行奇偶交换
- 解决TortoiseGit每次Pull或者Push都需要输用户名密码问题
- 元素之和最接近 0 的区间(部分和)
- SVN分支和合并(trunk、branches、tags)
- eclipse maven 导出项目依赖的jar包
- LeetCode 135 Candy (贪心 构造)
- cocos2d-x-2.1.4 在安卓平台编译
- java--Struts2的There is no Action mapped for namespace错误
- Sicily1133: SPAM (电子邮箱匹配)
- PRVF-0002 : 无法检索本地节点名
- Laravel 5.2 自增id问题
- 反转一个链表
- 使用redis实现页面缓存
- 基于git+rsync的代码--备份/上线/回滚--脚本一例