135. Candy
来源:互联网 发布:java开发面试常问问题 编辑:程序博客网 时间:2024/05/22 17:50
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?
正序遍历,大的+1,
逆序遍历,取最大的
c++版本:
class Solution {public: int candy(vector<int>& ratings) { if(ratings.size()<=1) return ratings.size(); vector<int> nums(ratings.size(),1); for(int i=1;i<nums.size();i++) if(ratings[i]>ratings[i-1]) nums[i]=nums[i-1]+1; for(int i=nums.size()-1;i>=1;i--) if(ratings[i-1]>ratings[i]) nums[i-1]=max(nums[i]+1,nums[i-1]); int sum=0; for(int num:nums) sum+=num; return sum; }};
python3版本:
class Solution: def candy(self, ratings): """ :type ratings: List[int] :rtype: int """ res=[1]*len(ratings) lbase=rbase=1 for i in range(1,len(ratings)): lbase=lbase+1 if ratings[i]>ratings[i-1] else 1 res[i]=lbase for i in range(len(ratings)-2,-1,-1): rbase=rbase+1 if ratings[i]>ratings[i+1] else 1 res[i]=max(res[i],rbase) return sum(res)
阅读全文
0 0
- 135.Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- 135. Candy
- svn初用
- 排序的稳定性
- xml 处理大于号与小于号
- Spring IOC 源码分析-xml配置文件加载-注册
- 【架构性能分析(3)】Tomcat 并发优化
- 135. Candy
- 助你快速踏入高薪职场——2017面试集锦之数据库
- vue2使用keep-alive缓存多层列表页
- vue-router动态路由注意事项
- 绘图机制与图片处理-Android群英传
- grub的相关操作
- 多线程的休眠
- 角谷定理
- 哈希表C开源的uthash的简单初步封装(一)