帮人家做网站维护国外旅游哪几个网站做攻略好

张小明 2026/3/2 18:08:44
帮人家做网站维护,国外旅游哪几个网站做攻略好,wordpress 机械 主题,青岛公司网站建设从前序与中序遍历序列构造二叉树#xff08;LeetCode 105#xff09; 题目链接#xff1a;从前序与中序遍历序列构造二叉树#xff08;LeetCode 105#xff09; 难度#xff1a;中等 1. 题目描述 给定两个整数数组 preorder 和 inorder #xff0c;其中 preorder 是二叉…从前序与中序遍历序列构造二叉树LeetCode 105题目链接从前序与中序遍历序列构造二叉树LeetCode 105难度中等1. 题目描述给定两个整数数组preorder和inorder其中preorder是二叉树的先序遍历inorder是同一棵树的中序遍历请构造二叉树并返回其根节点。要求树中不存在重复元素数组长度 1 n 3000-3000 preorder[i], inorder[i] 3000示例输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,15,7]输入: preorder [-1], inorder [-1] 输出: [-1]2. 问题分析2.1 规律先序遍历根节点 - 左子树 - 右子树中序遍历左子树 - 根节点 - 右子树先序的第一个元素总是根节点在中序中找到根节点的位置可以分割左/右子树。递归构建左子树的前序/中序子序列右子树的前序/中序子序列。核心问题如何高效找到中序中根节点的位置以分割子树2.2 贪心思路我们使用递归 哈希表优化使用哈希表存储中序遍历的值到索引的映射便于 O(1) 查找根节点位置。递归函数参数为前序/中序的起始/结束索引。步骤如果子树为空start end返回 None。取前序第一个元素作为根pre_idx 1。在中序中找到根索引 root_in_idx。递归构建左子树中序 [in_start, root_in_idx-1]前序相应部分。递归构建右子树中序 [root_in_idx1, in_end]前序相应部分。全局 pre_idx 跟踪前序位置避免切片开销。3. 代码实现Python# Definition for a binary tree node.# class TreeNode:# def __init__(self, val0, leftNone, rightNone):# self.val val# self.left left# self.right rightclassSolution:defbuildTree(self,preorder:List[int],inorder:List[int])-Optional[TreeNode]:defhelper(in_start,in_end):nonlocalpre_idxifin_startin_end:returnNoneroot_valpreorder[pre_idx]rootTreeNode(root_val)pre_idx1root_in_idxidx_map[root_val]root.lefthelper(in_start,root_in_idx-1)root.righthelper(root_in_idx1,in_end)returnroot nlen(preorder)idx_map{val:ifori,valinenumerate(inorder)}pre_idx0returnhelper(0,n-1)C/** * 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) {} * }; */classSolution{public:TreeNode*buildTree(vectorintpreorder,vectorintinorder){unordered_mapint,intidx_map;for(inti0;iinorder.size();i){idx_map[inorder[i]]i;}intpre_idx0;returnhelper(preorder,inorder,idx_map,pre_idx,0,inorder.size()-1);}private:TreeNode*helper(vectorintpreorder,vectorintinorder,unordered_mapint,intidx_map,intpre_idx,intin_start,intin_end){if(in_startin_end){returnnullptr;}introot_valpreorder[pre_idx];TreeNode*rootnewTreeNode(root_val);pre_idx;introot_in_idxidx_map[root_val];root-lefthelper(preorder,inorder,idx_map,pre_idx,in_start,root_in_idx-1);root-righthelper(preorder,inorder,idx_map,pre_idx,root_in_idx1,in_end);returnroot;}};4. 复杂度分析时间复杂度O(n)哈希表构建 O(n)递归遍历每个节点一次空间复杂度O(n)哈希表 O(n)递归栈最坏 O(n)5. 总结树重建问题遍历序列→ 递归分割是首选核心使用哈希表优化索引查找很通用类似 BFS 的序列化但这里是反序列化可扩展到后序 中序的变体复习面试经典150题[012]O(1) 时间插入、删除和获取随机元素LeetCode 380面试经典150题[042]有效的字母异位词LeetCode 242面试经典150题[057]链表中是否有环LeetCode 141
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

托管网站是什么意思投资公司招聘

E-Hentai漫画高效下载指南 【免费下载链接】E-Hentai-Downloader Download E-Hentai archive as zip file 项目地址: https://gitcode.com/gh_mirrors/eh/E-Hentai-Downloader 还在为收藏心爱的漫画而烦恼吗?手动一张张保存不仅耗时耗力,还容易遗…

张小明 2026/1/4 10:07:53 网站建设

周口市建设职工培训中心网站h5就是手机端网页吗

Fusion Pixel Font是一款专为复古风格设计而生的开源像素字体,支持8px、10px和12px三种像素高度,完美适配游戏开发、界面设计和创意艺术等多种应用场景。这款字体采用黑体无衬线风格,通过创新的多字体融合技术,为开发者提供高质量…

张小明 2026/1/4 9:27:05 网站建设

琼海建设网站济宁网站建设优化亿峰

第一章:Open-AutoGLM电池功耗控制算法概述Open-AutoGLM 是一种面向边缘智能设备的自适应电池功耗控制框架,专为运行轻量化大语言模型(LLM)的移动终端设计。该算法通过动态调节计算负载、内存访问频率与通信模块唤醒周期&#xff0…

张小明 2026/1/4 17:42:31 网站建设

做优惠券的网站有哪些wordpress 模板命名

第一章:Open-AutoGLM 操作延迟降低方案在高并发场景下,Open-AutoGLM 框架面临显著的操作延迟问题,主要源于模型推理调用链路过长与资源调度不合理。为优化响应速度,需从请求预处理、异步执行机制和缓存策略三方面入手,…

张小明 2026/2/28 7:32:13 网站建设

重庆网站建站建设免费wordpress 显示文章列表

3分钟掌握百度网盘文件快速转存:网页工具全攻略 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 还在为百度网盘下载速度而烦恼&#xff…

张小明 2026/1/8 3:52:37 网站建设

做网站看什么书好自己做的网站怎么显示表格边框

软件规模与编程语言选择的深度剖析 在软件开发领域,软件规模的确定以及编程语言的选择是至关重要的决策,它们直接影响着软件的开发效率、可维护性和性能。下面我们将深入探讨这些关键问题。 软件规模的合理界定 在Unix的世界里,小型、高效工具的理念深入人心,但这背后隐藏…

张小明 2026/1/7 6:11:38 网站建设