LeetCode 解题报告 Candy
来源:互联网 发布:shadownsocks mac下载 编辑:程序博客网 时间:2024/04/29 09:17
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?
分析:
今年在做4399的笔试题的时候,遇到了这个题,当时没有一点思路。
这次再拿到这个题的时候还是没有什么思路,但感觉应该是动态规划的题,后来在网上看了解题报告之后,证实了我的猜想,虽然对动态规划有所了解 ,但如果真的让自己从头到尾的把题想出来,做出来,真的是有难度
下面就说说这个题的思路吧
要求每人至少一个,但临近的人并且比别人高,所拿到的糖就要多
首先用一个数组来保存每一个位置的大小,从左右两边遍历,如果后一个比前一个大,num[i] = max(inc++,num[i]);
public class Candy {public int candy(int[] ratings) {int [] num = new int[ratings.length];int result =ratings.length;for(int i=1,inc = 1;i<ratings.length;i++){if(ratings[i] > ratings[i-1]){num[i] = Math.max(num[i],inc++);}elseinc = 1;}for(int i = ratings.length-2,inc = 1;i>=0;i--){if(ratings[i] > ratings[i+1])num[i] = Math.max(inc++, num[i]);elseinc = 1;}for(int i=0;i<ratings.length;i++){result += num[i];}return result; }}
0 0
- [LeetCode]Candy, 解题报告
- 【LeetCode】Candy 解题报告
- LeetCode 解题报告 Candy
- [LeetCode OJ] Candy 解题报告
- [leetcode] 135. Candy 解题报告
- leetcode解题报告:135. Candy
- [Leetcode] 135. Candy 解题报告
- Leetcode 135 Candy 解题报告
- 【LeetCode】135.Candy(hard)解题报告
- leetCode解题报告之Candy(简单回溯)
- leetCode Candy解题分享
- UVALive 5791 Candy's Candy 解题报告
- LeetCode 解题报告索引
- [LeetCode]Permutations,解题报告
- Leetcode Triangle 解题报告
- [LeetCode]Anagrams,解题报告
- leetCode解题报告
- 【LeetCode】Triangle 解题报告
- Modbus CRC16校验算法--查表法(已经过本人测试,工作良好)
- 实验四 字符串和多维数组
- 中水处理设备:浅析小区中水回用应注意的问题
- svn update has locked
- Win7下SQLite的简单使用
- LeetCode 解题报告 Candy
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- 获取文件名
- 带中文的地址nsstring 转成可传输url
- 汽车隐形
- 算法导论-第16章-贪心算法-16.1 活动选择问题
- 3.1 面向对象的窗口类的封装
- 配置字符集过滤器(Filter)
- 你的代码写的很烂