设计师怎么弄个人网站济南seo网站关键词排名

张小明 2026/3/12 7:41:53
设计师怎么弄个人网站,济南seo网站关键词排名,深圳电器公司,网红营销是什么从前序与中序遍历序列构造二叉树#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进行投诉反馈,一经查实,立即删除!

泉州seo 泉州网站建设wordpress自动采集发布文章

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):961标注数量(xml文件个数):961标注数量(txt文件个数):961标注类别数&…

张小明 2026/3/5 5:56:22 网站建设

芜湖互联网公司网站seo在线诊断分析

Kotaemon如何提升首次响应速度?缓存预热技巧 在构建智能问答系统时,一个常见的尴尬场景是:用户第一次提问,“为什么这么慢?”——系统沉默半秒甚至更久才开始输出。这短短的延迟,足以让用户怀疑AI是否在线。…

张小明 2026/3/5 5:56:21 网站建设

做网站如何处理并发问题宁波企业网站建设

Obsidian代码执行插件:让笔记成为可交互的编程环境 【免费下载链接】obsidian-execute-code Obsidian Plugin to execute code in a note. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-execute-code 在传统笔记软件中,代码片段只能作为…

张小明 2026/3/5 5:56:24 网站建设

昆明网站制作费用wordpress 个人信息编辑

还在为单一AI模型无法满足多样化开发需求而困扰?Codex的多引擎智能切换功能让你在5分钟内掌握不同AI模型的无缝切换技巧,大幅提升开发效率。本指南将带你深入了解如何配置、管理和优化多个AI引擎,打造专属的智能开发工作流。 【免费下载链接】…

张小明 2026/3/5 5:56:22 网站建设

企业官方网站怎么建设南昌地宝网最新招聘

Linux 系统故障排查与性能优化指南 1. 进程排查工具——ps 命令 在排查进程相关问题时, ps 命令非常实用。以下是几个常见的 ps 命令选项及示例: - 查看进程运行时间 :可以帮助解决内存耗尽问题。例如,查看 init 和 rsyslog 进程的运行时间: $ ps -eo pid,c…

张小明 2026/3/5 5:56:25 网站建设

龙岗 网站建设深圳信科html所有标签及其属性汇总

第一章:长链路任务处理平台的选型逻辑在构建高并发、复杂业务流程的系统时,长链路任务处理平台的选型直接影响系统的稳定性、可维护性与扩展能力。面对多样化的技术栈和架构模式,合理的选型需综合评估业务特性、技术生态与团队能力。核心评估…

张小明 2026/3/5 5:56:26 网站建设