当前位置: 首页 > news >正文

珠海市研发网站建设提升学历报名入口

珠海市研发网站建设,提升学历报名入口,公司网页打不开是什么原因,电子商务网站规划的原则是什么目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 今天是打家劫舍3,明天估计就是打家劫舍4了。 今天的打家劫舍不太一样,改成二叉树了,不过规则没有变&…

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

今天是打家劫舍3,明天估计就是打家劫舍4了。

今天的打家劫舍不太一样,改成二叉树了,不过规则没有变,我们还是不能偷相邻的节点。

此时房屋的排序不是像之前那样是线性的了,也就是说我们无法使用之前的常规的动态规划来解决这道题,不过我们仍可以使用动态规划的思想来解决。

动态规划本质上就是状态转移。在线性排列的房屋之中,我们dp[ i ]等于截止到第 i 间房,我们能获取的最大的值是多少。

在二叉树之中我们同样也能沿用这个dp数组的含义,不过不同的是二叉树有些许不同,因为线性房屋相邻的房屋只有左右两个。而二叉树的节点中,相邻的有父节点和两个子节点一共三个。

在线性表中,我选择了下标为 i 的房间,我就不能选择 i - 1 和 i + 1 。

在二叉树中,我选择了一个节点,则它的左右子节点和父节点都不能选。

那么反过来呢?我不选择当前节点,那么我就可以选择左右两个子节点和父节点。

因为有两种情况,因此此时的dp数组应该是二维的,分别存放的是我选择当前节点所能获取的最大值以及我不选择当前节点所能获取的最大值。

现在我们来找找递推公式。

如果我选择当前节点,那么我能获取的最大值就是当前节点的值,以及左右两个子节点中不选择自己节点能获取到的最大值。

如果我不选择当前节点,那么我能获取的最大值就是左右两个子节点中,能获取的最大值。

以下动图以示例一为例,大家可以结合代码看看。

最后就是具体的做法,我们要求一个节点的能获取的最大值,我们就需要知道它的两个子节点能获取到的最大值,因此我们使用递归去遍历二叉树,至下而上去递推。

最终我们将根节点的能获取的最大值中(选择根节点能获取的最大值和不选择根节点能获取的最大值)取一个最大的返回出去。

代码:

class Solution {
public://返回出去的数组一共两个元素,第一个表示偷本节点获取的最大值,第二个表示不偷本节点获取的最大值vector<int> find(TreeNode* root){//如果当前节点为空,那么偷与不偷都是0if(root==nullptr) return {0,0}; auto l=find(root->left);auto r=find(root->right);//偷本节点获取的最大值就是本节点的值再加上两个子节点中不偷本节点的最大值(root->val+l[1]+r[1])//不偷本节点获取的最大值就是两个子节点中,分别取一个最大的值然后加起来.return {root->val+l[1]+r[1],max(l[0],l[1])+max(r[0],r[1])};}int rob(TreeNode* root) {vector<int>res=find(root);return max(res[0],res[1]);}
};

http://www.yayakq.cn/news/469168/

相关文章:

  • 连接交换网站建设优化经验
  • 行业推广做哪个网站好小程序平台源码
  • 网站被黑是什么原因个人域名可以做网站吗
  • php网站开发环境论文电子商务网站建设问题
  • 天河门户网站建设wordpress 流量
  • 网站有了备案号之后能做什么wordpress 自定义产品页面
  • 免费建设网站的方法广东深圳旅游必去十大景点
  • 如何开展网站推广营销网站制作方案
  • 做旅游网站的产品经理如何互联科技行业网站
  • 南岗哈尔滨网站建设互联网营销师报考费用
  • 自己能注册网站吗哪个网站找做软件下载
  • 图片手机网站模板大青海网app
  • 桂阳局网站建设方案宿迁房产网yy找房
  • 专业做校园文化的网站微信小程序开发教程官方文档
  • 陕西宝陵建设集团网站婚介网站开发
  • 网站申请内容吗柳州网站建设服务
  • 拉扎斯网络科技上海有限公司西安官网seo推广
  • 网站专题策划方案网站中搜索关键词
  • 网络网站建设的意义wordpress挂钩
  • 大品牌vi设计seo自动点击排名
  • 做购物网站需要什么资质300个免费邮箱地址2022
  • iis网站在点默认文档的时候报错.廊坊市 广阳区城市建设局网站
  • 中关村网站建设接单app平台有哪些
  • 做宣传的视频网站有哪些无锡高端网站建设开发
  • 广东省网站备案注销做网站的技术哪个简单
  • 访问失效链接 如何删除 网站维护东莞网站设计在哪里
  • 如何做网站推广私人wordpress点击插件
  • 成都分想设计公司网站石家庄网站建设seo优化营销
  • 通化公司做网站ps做网站需要几个画布
  • 亚马逊网站开发手机购物网站 设计