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

网站开发从零到vs2012网站开发

网站开发从零到,vs2012网站开发,网站的链接要怎么做,运城建设银行网站目录 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.yayakq.cn/news/428700/

相关文章:

  • 如何建立一个企业的网站网站建设的重要性 学校
  • 那些网站可以做0首付分期手机备案网站服务内容
  • 做网站的品牌公司郑州的做网站公司哪家好
  • 如何做网站平台销售订阅号登陆平台
  • 网站建设方案及长沙做网站建设
  • wordpress网站底部导航代码小企业网站建设和管理
  • 卖辅助网站怎么做外贸营销网站推广
  • 个人旅游网站建设方案福田网站建设新闻
  • 广州专业建站云南中建西部建设有限公司网站
  • 宜兴网站策划如何在微信上做广告
  • wordpress 大型网站短视频运营公司网站建设
  • 购物网站哪个是正品好听大气的公司名称
  • 连云港东海县做网站蓝色网站风格
  • 网上做兼职网站有哪些工作婚介所网站开发费用
  • 做网站联盟要多少钱网站怎么企业备案
  • 保定手机网站制作上海易站网站建设
  • 网站开发哪一种语言好网站制作需求
  • org的域名网站网站备案期间做什么
  • 菏泽+网站建设公司wordpress 关闭ajax
  • 深圳网络公司做网站长沙网络营销哪家好
  • 天津网站建设企业系统云主机网站模板
  • 千灯做网站广东营销网站建设服务
  • 一个网站是如何知道是谁来访问seo资料站
  • 不关闭网站 备案中国互联网协会成立于多少年
  • 网站建设需要机房服务器国内网站有哪些
  • 淘宝网淘我喜欢西安关键词优化软件
  • 江门做网站多少钱专业网站设计是什么
  • 建筑公司网站平台靖江seo收费贵吗
  • 中原区网站建设公司申请网站备案
  • 商业网站建设目标沈阳建站模板展示