技巧题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# pick candy
# @param arr int整型一维数组 the array
# @return int整型
#
class Solution:
def candy(self , arr: List[int]) -> int:
res = [1 for i in range(len(arr))]
for i in range(len(arr)-1):
if arr[i]<arr[i+1]: # 如果右边大,则调整为左边的加1
res[i+1]=res[i]+1
for i in range(len(arr)-1)[::-1]:
if arr[i]>arr[i+1] and res[i]<=res[i+1]: # 如果左边大,但是分配的不够,则更新
res[i]=res[i+1]+1
# print(res)
return sum(res)