美文网首页
337. House Robber III

337. House Robber III

作者: xxxcoder | 来源:发表于2020-05-25 22:37 被阅读0次

key tips

动态规划
返回两个状态

algorithm 1

尝试动态规划
问题存在子问题结构,首先考虑动态规划
在从父节点向子节点传递状态的过程中,存在信息丢失和重复结算,可以考虑使用map保存局部计算结果

algorithm 2

动态规划 + 局部计算结果

algorithm 3

动态规划 + 多状态

robRoot(root)[0]: maximum value if root got not robbed

robRoot(root)[1]: maximum value if root got robbed

robRoot(root)[0] = max(robRoot(root.left)[0], robRoot(root.left)[1]) + max(robRoot(root.right)[0], robRoot(root.right)[1])

robRoot(root)[1] = root.val + robRoot(root.left)[0] + robRoot(root.right)[0]

相关文章

网友评论

      本文标题:337. House Robber III

      本文链接:https://www.haomeiwen.com/subject/opzuahtx.html