原题链接:https://leetcode-cn.com/problems/maximum-product-of-splitted-binary-tree/

后续遍历+记忆化

vector<long> vec;//存储每个节点及其子节点和int maxProduct(TreeNode* root) {long mod=1000000007;long sum_r=proSearch(root);//后序遍历int size=vec.size();long ans=INT_MIN;for(int i=0;i<size-1;i++){ans=max(ans,(sum_r-vec[i])*vec[i]);//计算最大乘积}return ans%mod;
}long proSearch(TreeNode* root){if(root==NULL) return 0;TreeNode* p=root;long left=0,right=0;if(p->left!=NULL){left=proSearch(p->left);vec.push_back(left);}if(p->right!=NULL){right=proSearch(p->right);vec.push_back(right);}vec.push_back(p->val+left+right);//存储每个节点及其子节点和return p->val+left+right;
}

注意:不能在计算(sum_r-vec[i])*vec[i]时进行%mod,因为原先较大的数%mod之后不见得较大,应该先用long存储,最后再%mod

leetcode算法题--分裂二叉树的最大乘积相关推荐

  1. leetcode算法题--重建二叉树

    原题链接:https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/ TreeNode* buildTree(vector<int& ...

  2. leetcode算法题--验证二叉树的前序序列化

    题目链接:https://leetcode-cn.com/problems/verify-preorder-serialization-of-a-binary-tree/ 1.栈 bool isVal ...

  3. LeetCode算法题整理(200题左右)

    目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...

  4. leetcode算法题--不同的二叉搜索树

    原题链接:https://leetcode-cn.com/problems/unique-binary-search-trees/ 相关题目:leetcode算法题--不同的二叉搜索树 II 1.递归 ...

  5. LeetCode算法题-Minimum Depth of Binary Tree(Java实现)

    这是悦乐书的第168次更新,第170篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第27题(顺位题号是111).给定二叉树,找到它的最小深度.最小深度是沿从根节点到最近的 ...

  6. LeetCode高频题:二叉树的锯齿形(Z字形,之字形)层序遍历

    LeetCode高频题:二叉树的锯齿形(Z字形,之字形)层序遍历 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目 互联网大厂们 ...

  7. LeetCode算法题-Reach a Number(Java实现)

    这是悦乐书的第310次更新,第331篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第179题(顺位题号是754).你站在无限数字线的0号位置.在目的地有个target.在 ...

  8. 【经典算法题】二叉树的最近公共祖先

    [经典算法题]二叉树的最近公共祖先 Leetcode 0235 二叉搜索树的最近公共祖先 题目描述:Leetcode 0235 二叉搜索树的最近公共祖先 分析 本题的考点:LCA(最近公共祖先). 关 ...

  9. LeetCode算法题-Nth Digit(Java实现)

    这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...

最新文章

  1. 【BZOJ5461】 【PKUWC2018】—Minimax(线段树合并优化dp)
  2. [PHP] 超全局变量$_FILES上传文件
  3. 效率低下?是管理者无能?还是“太宽容”?
  4. 超棒的在线Bootstrap主题编辑工具 - lollytin
  5. python按行读取文件取消空白行_在Python中读取文件时忽略空行的最简单方法
  6. .net的label的背景如何设置成为透明_css如何设置背景图片?background属性添加背景图片...
  7. wow mysql dbc_DBC中悲观锁介绍附案例详解
  8. 构建复杂的应用程序(二)—— visual studio 下 C/C++ 项目开发
  9. centos 6.2 syslog-ng的配置
  10. opencv +opencv_contrib+CMake+VS2015
  11. 【工具】线程安全的JdbcTemplate.java
  12. 运算符重载,输出流运算符重载
  13. 诛仙3饮马江南服务器信息,横刀云渺,饮马天河----浅谈云渺天河5S单刷
  14. Oracle数据库的下载与安装教程详解
  15. IEEE1588精确网络时钟同步协议简介
  16. 外资公司章程标准范本
  17. c语言矩形法e3x x7,矩形法(梯形法)求定积分的方法
  18. Deepin安装phpstorm教程
  19. 天空之城 matlab,matlab演奏《天空之城》代码
  20. AbstractApplicationContext#refresh

热门文章

  1. python基础知识面试题-Python基本面试解答由浅入深—简答题
  2. python3爬虫入门教程-Python3爬虫学习入门教程
  3. python怎么读是啥意思-请问在python中**是啥什么意思?
  4. python搜题软件-智慧职教mooc的APPPython程序设计基础章节测验答案
  5. python与c语言在语法上的区别-论c++/java/c 与python的语法上的区别
  6. python中requests库的用途-python中requests库session对象的妙用详解
  7. 学python需要什么基础知识-没学过Python先要学习哪些基础知识?
  8. java开心农场安卓_开心农场之田园日记
  9. 微信小程序浮动按钮_操作按钮悬浮固定在微信小程序底部的实现代码
  10. codeforces 126B Password(哈希)