LeetCodeDiary

A Diary for solving LeetCode problems

View on GitHub
'''
Description: 
Autor: Au3C2
Date: 2020-12-24 10:57:53
LastEditors: Au3C2
LastEditTime: 2020-12-24 10:58:50
'''
class Solution:
    def massage(self, nums: List[int]) -> int:
        n = len(nums)
        if n <= 3:
            if n == 3:
                return max(nums[0]+nums[2],nums[1])
            elif n == 2 or n == 1:
                return max(nums)
            elif n == 0:
                return 0
        pre3, pre2 = nums[0], nums[1]
        pre1 = pre3 + nums[2]
        for i in range(3,n):
            cur = nums[i] + max(pre2,pre3)
            pre3 = pre2
            pre2 = pre1
            pre1 = cur
        return max(pre2,cur)

# 动态规划简单,有点掌握了
# https://leetcode-cn.com/problems/the-masseuse-lcci/submissions/