'''
Description:
Autor: Au3C2
Date: 2020-12-24 09:28:38
LastEditors: Au3C2
LastEditTime: 2020-12-24 09:29:55
'''
class Solution:
def candy(self, ratings: List[int]) -> int:
left = [1 for _ in range(len(ratings))]
right = left[:]
for i in range(1, len(ratings)):
if ratings[i] > ratings[i - 1]: left[i] = left[i - 1] + 1
count = left[-1]
for i in range(len(ratings) - 2, -1, -1):
if ratings[i] > ratings[i + 1]: right[i] = right[i + 1] + 1
count += max(left[i], right[i])
return count
# 贪心,困难。贪心体现在哪了?
# 题解的意思是左右各扫一遍
# https://leetcode-cn.com/problems/candy/