题解 | #分糖果问题#

分糖果问题

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)

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务