135.分糖果
class Solution:
def candy(self, ratings: List[int]) -> int:
n = len(ratings);
if n==0 : return 0
#初始化数组,每个人最少有一个糖果
nums = [1] * n
#从左到右遍历一次进行比较
for i in range(1,n):
if ratings[i] > ratings[i-1]:
nums[i] = nums[i-1] + 1
#从右到左遍历一次进行比较
for i in range(n-1,0,-1):
if ratings[i] < ratings[i-1]:
nums[i-1] = max(nums[i-1],nums[i]+1)
#累计结果
return sum(nums)