力扣——candy (分糖果) python实现

力扣——candy (分糖果) python实现,第1张

概述题目描述: 中文: 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。 那么这样下来,老师至少需要准备多少颗糖果呢? 英文: There are N children standing in a line. Each ch

题目描述:

中文:

老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。

你需要按照以下要求,帮助老师给这些孩子分发糖果:

每个孩子至少分配到 1 个糖果。
相邻的孩子中,评分高的孩子必须获得更多的糖果。

那么这样下来,老师至少需要准备多少颗糖果呢?

英文:

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?

class Solution(object):    def candy(self,ratings):        """        :type ratings: List[int]        :rtype: int        """        s = 0        n=len(ratings)        s+=n        tmp =[0]*n        for i in range(1,n):            if ratings[i]>ratings[i-1]:                tmp[i] = tmp[i-1]+1        for i in range(n-2,-1,-1):            if ratings[i]>ratings[i+1]:                tmp[i]=max(tmp[i],tmp[i+1]+1)        s+=sum(tmp)        return s

 

 

题目来源:力扣

总结

以上是内存溢出为你收集整理的力扣——candy (分糖果) python实现全部内容,希望文章能够帮你解决力扣——candy (分糖果) python实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1190917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存