LeetCode 135. Candy--贪心算法
来源:互联网 发布:linux 调试动态库 编辑:程序博客网 时间:2024/06/15 15:58
题目链接
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?
解:这个题难度是hard,其实比较简单,开一个candy[],从左到右,从右到左遍历一次就搞定了,第一次遍历时,如果后一个的权值大于前一个,则candy数也要大一个,反之,candy数等于1。
第一次遍历后,candy[]中还存在一种违反规则的情况:ratings[i] < ratings[i-1] && candy[i-1] <= candy[i],反向遍历时依次修改。
代码:
class Solution {public: int candy(vector<int>& ratings) { int size = ratings.size(); int *candy = new int[size]; candy[0] = 1; for (int i = 1; i < size; i++) { if (ratings[i] > ratings[i-1]) candy[i] = candy[i-1] + 1; else candy[i] = 1; } for (int i = size-1; i > 0; i--) { if (ratings[i] < ratings[i-1] && candy[i-1] <= candy[i]) candy[i-1] = candy[i] + 1; } int count = 0; for (int i = 0; i < size; i++) count += candy[i]; return count; }};
阅读全文
0 0
- LeetCode 135. Candy--贪心算法
- leetcode 135. Candy 分糖果 + 贪心算法
- 135. candy 贪心算法
- [leetcode][贪心] Candy
- LeetCode 135 Candy (贪心 构造)
- [LeetCode]135.Candy
- 135. Candy Leetcode Python
- [Leetcode] 135. Candy
- [leetcode] 135.Candy
- [leetcode] 135. Candy
- leetcode 135. Candy
- leetcode 135. Candy
- [LeetCode]135. Candy
- LeetCode 135. Candy
- Leetcode 135. Candy
- leetcode.135. Candy
- LeetCode 135. Candy
- [leetcode] 【数组】 135. Candy
- SUSE配置zypper
- 一步一步搭建springboot+mybatis+jta框架
- jq实现点击空白处,指定元素消失,且指定元素内部事件不受影响
- HTML5视频直播及H5直播扫盲
- JavaScript中的函数参数传递
- LeetCode 135. Candy--贪心算法
- 数据结构之单链表——C++模板类实现
- python 中 包的下载地址
- Java_HttpRequest方法
- HashSet HashTable HashMap的区别 及其Java集合介绍
- 匿名类里的参数引用
- javascript对象 以及对象属性深入学习
- C 之 读取和复制文件
- angular依赖注入:angular 依赖注入原理