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

设计商业网站应该做到什么个人网站建设一般流程

设计商业网站应该做到什么,个人网站建设一般流程,可以做视频剪辑兼职的网站,团队合作网站将有序数组转换为二叉搜索树 https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/ 描述 给你一个整数数组 nums #xff0c;其中元素已经按 升序 排列请你将其转换为一棵 平衡 二叉搜索树 示例 1 输入#xff1a;nums [-10,-3,0,5,9…将有序数组转换为二叉搜索树 https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/ 描述 给你一个整数数组 nums 其中元素已经按 升序 排列请你将其转换为一棵 平衡 二叉搜索树 示例 1 输入nums [-10,-3,0,5,9] 输出[0,-3,9,-10,null,5] 解释[0,-10,5,null,-3,null,9] 也将被视为正确答案示例 2 输入nums [1,3] 输出[3,1] 解释[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。提示 1 nums.length 1 0 4 10^4 104- 1 0 4 10^4 104 nums[i] 1 0 4 10^4 104nums 按 严格递增 顺序排列 Typescript 版算法实现 1 ) 方案1: 中序遍历总是选择中间位置左边的数字作为根节点 /*** Definition for a binary tree node.* class TreeNode {* val: number* left: TreeNode | null* right: TreeNode | null* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }* }*/function sortedArrayToBST(nums: number[]): TreeNode | null {return helper(nums, 0, nums.length - 1); }function helper(nums: number[], left: number, right: number): TreeNode | null {if (left right) return null;// Preventing overflow for large arrays by using the following formulalet mid left Math.floor((right - left) / 2);let root new TreeNode(nums[mid]);root.left helper(nums, left, mid - 1);root.right helper(nums, mid 1, right);return root; }2 ) 方案2: 中序遍历总是选择中间位置右边的数字作为根节点 /*** Definition for a binary tree node.* class TreeNode {* val: number* left: TreeNode | null* right: TreeNode | null* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }* }*/function sortedArrayToBST(nums: number[]): TreeNode | null {return helper(nums, 0, nums.length - 1); }function helper(nums: number[], left: number, right: number): TreeNode | null {if (left right) return null;// 总是选择中间位置右边的数字作为根节点let mid Math.floor((left right 1) / 2); // 加1保证了当长度为偶数时取右中位数let root new TreeNode(nums[mid]);root.left helper(nums, left, mid - 1);root.right helper(nums, mid 1, right);return root; }3 ) 方案3: 中序遍历选择任意一个中间位置数字作为根节点 /*** Definition for a binary tree node.* class TreeNode {* val: number* left: TreeNode | null* right: TreeNode | null* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }* }*/function sortedArrayToBST(nums: number[]): TreeNode | null {return helper(0, nums.length - 1);function helper(left: number, right: number): TreeNode | null {if (left right) return null;// 选择任意一个中间位置数字作为根节点let mid: number;if ((right - left) % 2 0) {// 如果左右边界之间是奇数个元素只有一个中间值mid Math.floor((left right) / 2);} else {// 如果左右边界之间是偶数个元素随机选择一个中间值mid left Math.floor((right - left Math.random()) / 2);}const root new TreeNode(nums[mid]);root.left helper(left, mid - 1);root.right helper(mid 1, right);return root;} }4 ) 方案4: 简单版本 /*** Definition for a binary tree node.* class TreeNode {* val: number* left: TreeNode | null* right: TreeNode | null* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }* }*/function sortedArrayToBST(nums: number[]): TreeNode | null {if(!nums.length) return null// 二叉搜索树的中序遍历就是升序列表// 数组中间的位置可以作为树的根节点const mid Math.floor(nums.length / 2)const root new TreeNode(nums[mid])root.left sortedArrayToBST(nums.slice(0,mid))root.right sortedArrayToBST(nums.slice(mid1))return root }
http://www.zqtcl.cn/news/43014/

相关文章:

  • 做阿里巴巴网站口碑如何将视频添加到网站上
  • 教育培训机构怎么建设网站技术支持 东莞网站建设
  • 站酷素材wordpress 动画
  • 具有口碑的柳州网站建设公司聊城建设工程质量信息网站
  • 网站制作公司成都公众号怎么做文章推广
  • 网站管理员怎么做网站建设属于
  • 网站建设项目规划审批世界500强排名一览表
  • 网站基建建设特色个人网页设计
  • 增城高端网站建设抗疫物资捐赠网
  • 广告页面模板网站郑州软件公司排名
  • 做海报的素材网站国外免费做网站软件
  • 广元做开锁网站明年做哪些网站致富
  • 网站建设前的市场分析怎么写网站建设者属于广告经营者吗
  • 沙漠网站建设用word做旅游网站
  • 自建网站和租用空间网站连云港网站建设
  • 盐城网站开发代理商在线制作头像带字
  • 要做一个网站得怎么做网站建设建立好如何盈利
  • python开源代码网站做电影网站许可证
  • 企业网站欣赏郑州企业形象设计网站建设搭建微商导航网站
  • html创建站点的步骤网站建设考试题目
  • 什么建站公司好伪静态网站网站 目录写入权限
  • 网站建设与管理 期末网站SEO的评价
  • 网站制作公司要文化建设费手机网站用什么做的
  • 河北建设执业资格注册中心网站江苏省工程建设协会网站
  • 济南网站运营企业门户网站开发要多少钱
  • 怎么设置iis默认网站网站代码怎么改
  • 同城购物网站怎么做wordpress主题开拓右边栏
  • 湖南建设长沙网站建设价格广州本地做网站
  • 丽水网站建设报价设计商城商务网站
  • erlang做网站优势电子制作diy