动态规划,有一个知识盲区
class Solution(object):
def maxSumDivThree(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
# 动态规划的思想,不太懂啊。。。
dp=[0,0,0]
for i in range(len(nums)):
mod=nums[i]%3
a=dp[(3+0-mod)%3]
b=dp[(3+1-mod)%3]
c=dp[(3+2-mod)%3]
if(a or mod==0):
dp[0]=max(dp[0],a+nums[i])
if(b or mod==1):
dp[1]=max(dp[1],b+nums[i])
if(c or mod==2):
dp[2]=max(dp[2],c+nums[i])
return dp[0]
今天晚上脑子不太好使了,明天认真学习一下