题目
代码记录
class Solution:
def candy(self, ratings: List[int]) -> int:
total_cnt=0
single_cnt=1
import math
N=len(ratings)
ratings=[math.inf]+ratings+[math.inf]
left=1
for i in range(1,N+1):
if ratings[i]>ratings[i+1]:
single_cnt+=1
else:
if ratings[i-single_cnt+1]>ratings[i-single_cnt]:
cur=left+1
else:
cur=1
cur=max(cur,single_cnt)
total_cnt+=int((1+single_cnt-1)*(single_cnt-1)/2)+cur
left=cur if single_cnt==1 else 1
single_cnt=1
return total_cnt