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

网站做多久能盈利怎么用图片做网站背景图

网站做多久能盈利,怎么用图片做网站背景图,制作网站的最大公司,扁平 wordpress文章目录 1.给一个数组构建二叉树2.从前序遍历和中序遍历构建二叉树3.二叉树中的最大路径和 1.给一个数组构建二叉树 思路:就是借助一个队列实现层序遍历的思想。 先将root节点入队列,构造左右节点后,root取出来时,将其左右孩子都…

文章目录

  • 1.给一个数组构建二叉树
  • 2.从前序遍历和中序遍历构建二叉树
  • 3.二叉树中的最大路径和


1.给一个数组构建二叉树

思路:就是借助一个队列实现层序遍历的思想。
先将root节点入队列,构造左右节点后,root取出来时,将其左右孩子都入队列。

struct TreeNode
{unique_ptr<TreeNode> left;unique_ptr<TreeNode> right;int _val;TreeNode(int val):_val(val),left(nullptr),right(nullptr){}~TreeNode(){}
};//层序遍历构建二叉树
// 1 2 3 4 5
unique_ptr<TreeNode> BuildBinaryTreeFromLevelOrder(vector<int>& nums)
{if (nums.size() == 0){cout << "nums is empty!" << endl;}unique_ptr<TreeNode> root = make_unique<TreeNode>(nums[0]);queue<TreeNode*> q;q.push(root.get());int i = 1;while (!q.empty() && i < nums.size()){TreeNode* cur = q.front();q.pop();//先处理左子树cur->left = make_unique<TreeNode>(nums[i]);q.push(cur->left.get());i++;//再处理右子树if (i < nums.size()){cur->right = make_unique<TreeNode>(nums[i]);q.push(cur->right.get());}i++;}return root;
}

2.从前序遍历和中序遍历构建二叉树

从前序遍历和中序遍历构建二叉树

在这里插入图片描述

思路:

  • 1.根据前序遍历的根,先找到中序遍历的根节点所在下标。
  • 2.然后划分成两个区间进行递归即可。

注意事项:
previ是前序中的根节点下表,用来构建当前节点的。
所以构建完根节点后, 需要++previ,到达左子树的根节点。
并且要传引用。否则回到当前递归栈这一层时,会从原位置开始向下走

class Solution {
public:TreeNode* _buildTree(vector<int>& preorder,vector<int>& inorder,int& previ,int inbegin,int inend){if(inbegin > inend)return nullptr; //子区间递归结束了TreeNode* root = new TreeNode(preorder[previ]);//1.先在中序区间找根节点下标int rooti = 0;while(rooti <= inend){if(preorder[previ] == inorder[rooti])break;++rooti;}//2.分成左右子区间分别构建子树。++previ; //根节点的下一个节点就是左子树的根了root->left = _buildTree(preorder,inorder,previ,inbegin,rooti-1);//这里不要再++prei,因为递归构建左子树时,会自己++prei,构建左子树的最后//一个节点时,会先++prei,就到右子树了。root->right = _buildTree(preorder,inorder,previ,rooti+1,inend);return root;}TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {//根据前序遍历的根,先找到中序遍历的根节点所在下标。//然后划分成两个区间进行递归即可。int previ = 0; //传参时一定是传引用,否则回到当前递归栈这一层时//会从原位置开始向下走int inbegin = 0,inend = inorder.size()-1;return _buildTree(preorder,inorder,previ,inbegin,inend);}
};

3.二叉树中的最大路径和

二叉树中的最大路径和
在这里插入图片描述

思路:二叉树中一条路的最大路径和一定是该节点的左子树的最大有效值与右子树的最大有效值的最大值的和,再加上当前节点的值。
所以:

  • 1.先求出左右子树的最大有效值,再加上当前节点的值。
  • 2.求有效值的过程,不断更新最大路径和。

这里注意两个概念:

  • 1.最大贡献值是因为左子树可能有几十条路径,需要选出最优的路径,才是最大的贡献。
    左右子树的最大贡献值加起来,再加上我当前节点的值之后,才组成最大路径和(左右都是最优的路径)。我的左子树和右子树两条路径选出来,比较后,选最大的,再加上我当前节点的值,然后向上交付,就能组成一条最优的路径。
  • 2.最大路径和就是:左右子树的最大贡献值,加上我当前节点的值,就组成了一条完整的路径。

别看这道题是困难题,如果想明白了后序遍历,就一点不难。

class Solution {int max_val = INT_MIN; //保存最大的路径和
public:int _paxPathSum(TreeNode* root){if(root == nullptr)return 0; //空节点的有效值为0//保存左右子树的最大贡献值int left_con = max(_paxPathSum(root->left),0);int right_con = max(_paxPathSum(root->right),0);//更新最大路径和max_val = max(max_val,left_con + right_con + root->val);//返回贡献值return root->val + max(left_con,right_con);}int maxPathSum(TreeNode* root) {_paxPathSum(root);return max_val;}
};

文章转载自:

http://f5jyWzNw.gwjqq.cn
http://lY6kvG7e.gwjqq.cn
http://I99VUK1U.gwjqq.cn
http://DTgxlXLY.gwjqq.cn
http://raRsVSeb.gwjqq.cn
http://0qLPjcJv.gwjqq.cn
http://MkFVIEzu.gwjqq.cn
http://WP2Sy8kO.gwjqq.cn
http://O5JvFX6w.gwjqq.cn
http://ij3jPEBN.gwjqq.cn
http://d2vqpRs8.gwjqq.cn
http://X6LVVBIK.gwjqq.cn
http://lzASYcTR.gwjqq.cn
http://x8ON4ePc.gwjqq.cn
http://erwtFur4.gwjqq.cn
http://Q0bTGZzH.gwjqq.cn
http://PSp516yC.gwjqq.cn
http://DhcqCW1F.gwjqq.cn
http://JHKcTmXU.gwjqq.cn
http://1vuIHDT3.gwjqq.cn
http://Dg12oOca.gwjqq.cn
http://hYqaJG6F.gwjqq.cn
http://iptS8PFn.gwjqq.cn
http://TBoYlZO7.gwjqq.cn
http://k5FoU8DS.gwjqq.cn
http://sqZhgJJI.gwjqq.cn
http://bBYck5BV.gwjqq.cn
http://D6ofUTba.gwjqq.cn
http://lhXFiOhw.gwjqq.cn
http://6EJOE6PI.gwjqq.cn
http://www.dtcms.com/wzjs/732471.html

相关文章:

  • 营销型网站建设团队建筑工人信息平台
  • 企业网站优化兴田德润优惠网站开发有几个阶段
  • 电子商务网站建设发展报告屋顶平台设计
  • 广西鼎汇建设集团有限公司网站建设公司哪家好
  • 云服务器可以做视频网站吗三网合一网站 东莞
  • 凡科建站帮忙做网站WordPress判断手机输出
  • 网站上传后台在哪蕲春住房和城乡建设局网站
  • 知名的咨询行业网站制作青之峰网站建设哪家好
  • 网站建设的相关技术怎样分析一个网站做的好坏
  • linux网站开发工具制作钓鱼网站
  • 做网站要学会什么营销方式和渠道
  • 杭州手机建设网站杭州优化seo公司
  • 网站建设一年多少恰高端网站建设团队
  • 重庆巴南网站建设类似织梦的建站cms
  • 成都大丰网站建设例表网国家住房和城乡建设部官网
  • 哪些网站是做采购的如何做网站内容管理
  • 软件外包专业成都网站排名优化开发
  • 青年人爱看的网站惠州手工外发加工网
  • wordpress+三主题公园seo如何提高排名
  • 初级买题做哪个网站好wordpress编辑器位置
  • 优化学校网站建设方案利津网站定制
  • 北京建网站公司域名备案 没有网站吗
  • 2019做什么类型网站asp网站表格代码
  • 淮安公司做网站国外做彩票网站推广是合法的吗
  • 关于重新建设网站的申请表初中文凭怎么自考大专
  • 手机网站建设视频教程python小程序代码
  • 网站开发教程百度云哪个公司做网站便宜
  • 外贸在什么网站做织梦网站栏目建设
  • 网站防红链接怎么做的网站建设推广代理公司
  • 靖江建设行业协会网站营销网站建设计划书