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

升腾d9116 做网站搜索引擎在线

升腾d9116 做网站,搜索引擎在线,a站和b站的区别,简述网站推广的意义和方法目录 一、问题描述 二、解题思路 三、代码 四、复杂度分析 一、问题描述 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 二、解题思路 ✅ 题目关键点 升序数组 → 所以中间的元素最适合做根节点。 平衡…

目录

一、问题描述

二、解题思路

三、代码

四、复杂度分析


一、问题描述

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。

二、解题思路

✅ 题目关键点

  1. 升序数组 → 所以中间的元素最适合做根节点。

  2. 平衡 BST → 任意一个节点的左右子树高度差不超过 1。


🧠 解题思路

我们使用 递归 + 分治 的方式:

  1. 找到当前数组的“中间元素”,作为根节点。

  2. 左半部分递归构建左子树,右半部分递归构建右子树。

  3. 返回根节点。


✅ 图示说明

假设数组是 [ -10, -3, 0, 5, 9 ]

  • 中间是 0 → 设为根节点

  • 左边 [ -10, -3 ] → 构建左子树

  • 右边 [ 5, 9 ] → 构建右子树

构建完就得到一棵平衡的 BST。

    三、代码

    /*** 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* sortedArrayToBST(vector<int>& nums) {return buildBST(nums, 0, nums.size() - 1); // 调用辅助函数,传入数组和左右边界}private:// 辅助函数:递归构建平衡 BSTTreeNode* buildBST(const vector<int>& nums, int left, int right) {if (left > right) return nullptr; // 递归终止条件:空区间int mid = left + (right - left) / 2; // 找中间位置,避免溢出TreeNode* node = new TreeNode(nums[mid]); // 当前节点node->left = buildBST(nums, left, mid - 1);   // 递归构建左子树node->right = buildBST(nums, mid + 1, right); // 递归构建右子树return node; // 返回当前节点}
    };
    

    四、复杂度分析

    • 时间复杂度:O(n)
      每个元素都恰好被访问一次。

    • 空间复杂度:O(log n)(递归栈空间)
      取决于树的高度,平衡 BST 的高度是 log 级别。

    http://www.dtcms.com/wzjs/468270.html

    相关文章:

  1. 做web网站原型设计软件个人如何注册网站
  2. 淘宝网站可信度状况及建设策略百度q3财报减亏170亿
  3. 合肥找工作最新招聘信息seo哪里有培训
  4. 阿里妈妈推广网站百度的合作网站有哪些
  5. 服务器添加网站地推接单平台找推网
  6. 交易网站开发文档电话投放小网站
  7. HTML可以做彩票网站吗昆明百度搜索排名优化
  8. 自己做的网站显示iis7什么软件可以推广
  9. 网站怎样制作图文排版软文发布
  10. 网站制作成品软文发布软件
  11. iis安装好了 网站该怎么做深圳市企业网站seo营销工具
  12. 便宜网站建设公司如何建立自己的网站平台
  13. 网站上做的广告有哪些种百度快速排名软件
  14. 保险查询平台seo的优点和缺点
  15. 网页设计毕业论文免费百度整站优化
  16. 个人网站设计实验原理百度优化是什么
  17. 怎么做flash网站设计浏览器打开
  18. 有源代码怎么做网站最新国内新闻重大事件
  19. 做网站的工作量项目推广网
  20. wordpress缓存插件 w3seo怎么刷排名
  21. 做网站开发最多能做几年谷歌搜索引擎为什么打不开
  22. 公司网站建设维护的岗位模板建站教程
  23. 大连百度网站快速优化指数基金
  24. 余姚网站建设报价百度官方客服平台
  25. 北京网站托管的公司成都网站seo
  26. 微网站是什么百度搜索排名规则
  27. 网站中使用特殊字体天猫关键词排名怎么控制
  28. 商务网站建设详细步骤高端网站优化公司
  29. 开通独立网站seo研究协会网app
  30. 阿里巴巴网站建设基础服务seo短期课程