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

力扣654题:最大二叉树(递归)

小学生一枚,自学信奥中,没参加培训机构,所以命名不规范、代码不优美是在所难免的,欢迎指正。

标签:
二叉树、递归

语言:
C++

题目:
给定一个不重复的整数数组 nums 。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点,其值为nums中的最大值。递归地在最大值左边的子数组前缀上构建左子树。递归地在最大值右边的子数组后缀上构建右子树。返回nums构建的最大二叉树。

截图:

代码:

class Solution {
public:TreeNode* maxbinarytree(vector<int>& nums, int l, int r) {if (r - l == 0)return nullptr;TreeNode* root = new TreeNode(0);int maxidx = l;for (int i = l; i < r; i++) {root->val = max(root->val, nums[i]);if(root->val==nums[i])maxidx=i;}root->left = maxbinarytree(nums, l, maxidx);root->right = maxbinarytree(nums, maxidx + 1, r);return root;}TreeNode* constructMaximumBinaryTree(vector<int>& nums) {return maxbinarytree(nums, 0, nums.size());}
};

http://www.dtcms.com/a/193982.html

相关文章:

  • React底层架构深度解析:从虚拟DOM到Fiber的演进之路
  • spring cloud gateway 源码解析
  • 火山引擎AI大模型
  • 经典启发算法【早期/启发式/HC爬山/SA模拟退火/TS禁忌搜/IA免疫 思想流程举例全】
  • Socket echo server
  • 成功案例丨从草图到鞍座:用先进的发泡成型仿真技术变革鞍座制造
  • Tomcat 配置 HTTPS 访问全攻略(CentOS 环境)
  • 【愚公系列】《Manus极简入门》042-投资策略分析师:“投资智慧导航”
  • 从硬件角度理解“Linux下一切皆文件“,详解用户级缓冲区
  • CCIE与HCIE哪个考试难度更大?
  • Java EE初阶——wait 和 notify
  • AI与产品架构设计系列(2):Agent系统的应用架构与落地实
  • 【沉浸式求职学习day41】【Servlet】
  • 电脑出故障驱动装不上?试试驱动人生的远程服务支持
  • apisix透传客户端真实IP(real-ip插件)
  • 数字化工厂升级引擎:Modbus TCP转Profinet网关助力打造柔性生产系统
  • 【图像生成1】Latent Diffusion Models 论文学习笔记
  • uniapp实现在线pdf预览以及下载
  • Node.js 同步加载问题详解:原理、危害与优化策略
  • Linux du 命令终极指南:从基础到精通
  • Prometheus实战教程:k8s平台-Mysql监控案例
  • 15 C 语言字符类型详解:转义字符、格式化输出、字符类型本质、ASCII 码编程实战、最值宏汇总
  • gflags 安装及使用
  • 企业品牌宣传新闻媒体发稿策略与长效运营
  • 从验证码绕过到信息轰炸:全面剖析安全隐患与防范策略
  • 25考研经验贴(11408)
  • 动态规划-63.不同路径II-力扣(LeetCode)
  • 一发入魂:极简解决 SwiftUI 复杂视图未能正确刷新的问题(中)
  • 大模型技术发展全景报告:架构演进、应用落地与未来挑战
  • 专业版降重指南:如何用Python批量替换同义词?自动化操作不香嘛?