Lintcode:分糖果这里写链接内容
class Solution:
# @param {int[]} ratings Children's ratings
# @return {int} the minimum candies you must give
def candy(self, ratings):
# Write your code here
n = len(ratings)
dp = [1 for i in range(n)]
for i in range(0, n-1):
if ratings[i] < ratings[i+1]:
dp[i+1] = max(dp[i+1], dp[i]+1)
for i in range(n-1, 0, -1):
if ratings[i-1] > ratings[i]:
dp[i-1] = max(dp[i-1], dp[i] + 1)
return sum(dp)