day39 | 打家劫舍

三道小偷的题目。

基础的题目主要就是当前节点保存两个状态f偷与f不偷。

  • 不偷的话就是和前面偷情况下相等。
  • 偷的话就是max(前不偷+curval,前偷) 值得注意的就是 虽然当前状态是偷的,但不一定是真的偷了当前节点。

然后就是环形题目,分成两种情况考虑就可以

最后是树状dp 可以用后序遍历求解。 或者用BFS换成数组形式,然后逆推即可。

dp[parentId][0]= dp[2*parentId][1]+dp[2*parentId+1][1]+node[parentId].val
dp[parentId][1]= max(dp[2*parentId][0],...[1])+max(dp[2*parentId+1][0],...[1])

全部评论

相关推荐

11-23 15:14
中原工学院 Java
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
安静的鲸鱼offer...:神仙级别hr,可遇不可求,甚至他可能也是突然有感而发。只能说遇上是件幸事。
秋招开始捡漏了吗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务