news 2026/5/14 22:31:54

每日算法题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
每日算法题

654题

class Solution { public: TreeNode* constructMaximumBinaryTree(vector<int>& nums) { //找最大值和最大值的下标作为根 TreeNode*node=new TreeNode(0); if(nums.size()==1) { node->val=nums[0]; return node; //终止条件 } //找到最大值 int maxvalue=0; int maxvalueindex=0; for(int i=0;i<nums.size();i++) { if(nums[i]>maxvalue) { maxvalue=nums[i]; maxvalueindex=i;//下标 } } node->val=maxvalue;//根节点 //左子树 if(maxvalueindex>0) { vector<int> newVec(nums.begin(),nums.begin()+maxvalueindex); node->left=constructMaximumBinaryTree(newVec); } if(maxvalueindex<(nums.size()-1)) { vector<int> newVec(nums.begin()+maxvalueindex+1,nums.end()); node->right=constructMaximumBinaryTree(newVec); } return node; } };

目标是找最大值,然后当根节点,

思路:找最大值和最大值的下标,切割左右子树,就这样接着遍历,

但是开数组造成空间效率低,所以给另一种简洁代码

class Solution { private: // 在左闭右开区间[left, right),构造二叉树 TreeNode* traversal(vector<int>& nums, int left, int right) { if (left >= right) return nullptr; // 分割点下标:maxValueIndex int maxValueIndex = left; for (int i = left + 1; i < right; ++i) { if (nums[i] > nums[maxValueIndex]) maxValueIndex = i; } TreeNode* root = new TreeNode(nums[maxValueIndex]); // 左闭右开:[left, maxValueIndex) root->left = traversal(nums, left, maxValueIndex); // 左闭右开:[maxValueIndex + 1, right) root->right = traversal(nums, maxValueIndex + 1, right); return root; } public: TreeNode* constructMaximumBinaryTree(vector<int>& nums) { return traversal(nums, 0, nums.size()); } };

这个也是进行切割,不过利用传值切割代替开数组,效率高

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 22:22:31

Python CosyVoice项目遭遇 Windows TxF WinError 6714 的深度排查与修复指南

Windows 10/11 Python 3.10 importlib / NTFS KTM Claude Code v2.1.x 2026-05-14 一、这篇教程解决什么问题 一句话定位&#xff1a;Python 项目在导入模块时触发 OSError: [WinError 6714] 与线程关联的当前事务上下文对于事务对象不是有效的句柄&#xff0c;导致整个流…

作者头像 李华
网站建设 2026/5/14 22:22:05

别再装Hash工具了!用7-Zip v21.07一键校验下载文件,保姆级图文教程

7-Zip隐藏技能&#xff1a;用右键菜单3秒完成文件校验的终极指南 当你从网上下载了一个重要文件&#xff0c;如何确认它没有被篡改或损坏&#xff1f;大多数人的第一反应是寻找专门的哈希校验工具&#xff0c;但你可能不知道&#xff0c;电脑里早已安装的7-Zip就能完美解决这个…

作者头像 李华
网站建设 2026/5/14 22:21:21

Windows风扇控制终极指南:5分钟搞定精准调速与静音散热

Windows风扇控制终极指南&#xff1a;5分钟搞定精准调速与静音散热 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…

作者头像 李华
网站建设 2026/5/14 22:21:17

Go语言图算法:DFS与BFS

Go语言图算法&#xff1a;DFS与BFS 1. 图的表示 type Graph struct {vertices map[int][]int }func NewGraph() *Graph {return &Graph{vertices: make(map[int][]int),} }func (g *Graph) AddEdge(v1, v2 int) {g.vertices[v1] append(g.vertices[v1], v2)g.vertices[v2]…

作者头像 李华