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

阜阳公司做网站策划

阜阳公司做网站,策划,进行网站建设视频教程,创造与魔法官方网站-做自己喜欢的事目录 645、最大二叉树题目描述思路代码 645、最大二叉树 题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大…

目录

  • 645、最大二叉树
    • 题目描述
    • 思路
    • 代码

645、最大二叉树

题目描述

给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建:

创建一个根节点,其值为 nums 中的最大值。
递归地在最大值 左边 的 子数组前缀上 构建左子树。
递归地在最大值 右边 的 子数组后缀上 构建右子树。
返回 nums 构建的 最大二叉树 。
数组长度大于等于1

思路

常规思路

  1. 找到最大值和最大值的下标,根据这个值构建跟节点
  2. 根据最大值下标分割数组为左子数组、右子数组
  3. 根据左子数组递归的构造左子树、根据右子数组递归的构造右子树

代码实现思路

  1. 参数和返回值:传入数组;返回值为指向节点的指针。
  2. 终止条件:因为数组长度大于等于1,所以当数组长度为1时,做完相关操作之后返回结果。
  3. 递归逻辑:每次构造完根节点之后,按先序遍历顺序,先构造左子树、再构造右子树。

代码

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:TreeNode* constructMaximumBinaryTree(vector<int>& nums) {// 数组长度>=1,所以直接创建新节点TreeNode* root = new TreeNode(0);// 终止条件:数组长度=1if (nums.size() == 1) {root -> val = nums[0];return root; }// 找到数组中最大值及其小标int maxValue = 0;int maxIndex = 0;for (int i = 0; i < nums.size(); i++) {if (nums[i] > maxValue) {maxIndex = i;maxValue = nums[i];}}// 构造根节点root -> val = maxValue;// 分割左子数组,递归构造左子树if (maxIndex > 0) {vector<int> newVec(nums.begin(), nums.begin() + maxIndex);root -> left = constructMaximumBinaryTree(newVec);}// 分割右子数组,递归构造右子树if (maxIndex < (nums.size() - 1)) {vector<int> newVec(nums.begin() + maxIndex + 1, nums.end());root -> right = constructMaximumBinaryTree(newVec);}return root;}
};
http://www.mmbaike.com/news/48578.html

相关文章:

  • 做网站需要备案么百度广告运营
  • 做网贷网站旅游景点推广软文
  • 北京 网站制作百度浏览器手机版
  • 网站备案幕免费服务器
  • 电信网站备案网络网站推广选择乐云seo
  • 哪里有做网站系统的谷歌seo外包公司哪家好
  • 订阅号栏目里做微网站seo优化常识
  • 宣传网站建设方案淘宝推广怎么做
  • 网站正在建设中代码百度提交入口网址
  • 网站建站上海开通网站需要多少钱
  • 做公司网站 找谁做上海seo培训中心
  • 做好档案整理及网站建设百度推荐现在为什么不能用了
  • wordpress 随机广告粤语seo是什么意思
  • 竞价网站策划百度联盟是什么
  • 服装如何做微商城网站建设市场调研方法
  • 海淀网站建设电话购物网站页面设计
  • 做网站办什么类型营业执照网站优化公司收费
  • 品辰设计的网站谁做的seo竞争对手分析
  • 北京代理记账财务公司安卓优化大师新版
  • 密云重庆网站建设电脑培训机构哪个好
  • 潍坊网站设计公司搜索排名怎么做
  • 发帖子的网站郑州seo公司
  • wix网页制作seo快速排名软件首页
  • 自己做网站可以吗百度提交网址多久才会收录
  • 安阳做网站公司学网络与新媒体后悔死了
  • 嘉兴网站制作套餐网络软文是什么
  • 网站服务器的搭建杭州seo营销公司
  • 软件开发流程五个步骤sem和seo
  • 有什么网站可以做家教google搜索排名优化
  • 17网站一起做网店档口出租新华传媒b2b商务平台