方法一:
class Solution:
def massage(self, nums: List[int]) -> int:
last,now=0,0
for num in nums:
last,now=now,max(last+num,now)
return now
方法二:动态规划
class Solution:
def massage(self, nums: List[int]) -> int:
n = len(nums)
if n == 0:
return 0
dp0, dp1 = 0, nums[0]
for i in range(1,n):
tdp0 = max(dp0,dp1)
tdp1 = dp0 + nums[i]
dp0, dp1 = tdp0, tdp1
return max(dp0, dp1)
本文介绍了两种使用动态规划算法解决按摩师问题的方法。方法一通过迭代更新两个变量来跟踪最大收益,方法二则使用dp数组记录每个状态的最大收益,最终返回最大值。这两种方法都有效地解决了问题,展示了动态规划在解决最优化问题中的应用。
582

被折叠的 条评论
为什么被折叠?



