题解 | #分糖果问题#
分糖果问题
https://www.nowcoder.com/practice/76039109dd0b47e994c08d8319faa352
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# pick candy
# @param arr int整型一维数组 the array
# @return int整型
#
class Solution:
def candy(self , arr: List[int]) -> int:
# write code here
left = 0
right = len(arr)-1
candy_list = [1,]*len(arr)
while right:
if arr[left+1]>arr[left]:
candy_list[left+1] = max(candy_list[left+1],candy_list[left]+1)
left += 1
if arr[right-1]>arr[right]:
candy_list[right-1] = max(candy_list[right-1],candy_list[right]+1)
right -=1
return sum(candy_list)


