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

jsp网站开发平台建设银行网站理财产品为何不让买

jsp网站开发平台,建设银行网站理财产品为何不让买,wordpress创建数据库类型选什么用,机关内网站建设方案书2024.2.20 题目来源我的题解方法一 递归方法二 迭代 题目来源 力扣每日一题#xff1b;题序#xff1a;105 我的题解 方法一 递归 前序特点#xff1a;[ 根节点, [左子树的前序遍历结果], [右子树的前序遍历结果] ]中序特点#xff1a;[ [左子树的中序遍历结果], 根节点… 2024.2.20 题目来源我的题解方法一 递归方法二 迭代 题目来源 力扣每日一题题序105 我的题解 方法一 递归 前序特点[ 根节点, [左子树的前序遍历结果], [右子树的前序遍历结果] ]中序特点[ [左子树的中序遍历结果], 根节点, [右子树的中序遍历结果] ] 只要在中序遍历中定位到根节点那么就可以分别知道左子树和右子树中的节点数目。由于同一颗子树的前序遍历和中序遍历的长度显然是相同的因此就可以对应到前序遍历的结果中对上述形式中的所有左右括号进行定位。 这样以来就知道了左子树的前序遍历和中序遍历结果以及右子树的前序遍历和中序遍历结果就可以递归地对构造出左子树和右子树再将这两颗子树接到根节点的左右位置。 时间复杂度O( n 2 n^2 n2) 。除了遍历节点还需要扫描整个中序遍历的结果并找出根节点 空间复杂度O(n) public TreeNode buildTree(int[] preorder, int[] inorder) {return createTree(preorder,inorder,0,preorder.length-1,0,inorder.length-1); } // mid 根所在的位置 // pR 对应前序结束的位置 // iL 对应中序开始的位置 // iR 对应中序结束的位置 public TreeNode createTree(int[] preorder,int[] inorder,int mid,int pR,int iL,int iR){if(midpR||iLiR)return null;int valpreorder[mid];TreeNode rootnew TreeNode(val);int indexfind(inorder,val,iL,iR);// 左子树的节点数量int leftindex-iL;// 右子树的节点数量int rightiR-index; // 构建左子树需要的前序序列和中序序列 pre[mid,midleft] in[iL,index-1] root.leftcreateTree(preorder,inorder,mid1,midleft,iL,index-1); // 构建右子树需要的前序序列和中序序列 pre[midleft1,pR] in[index1,iR] root.rightcreateTree(preorder,inorder,midleft1,pR,index1,iR);return root; } //在中序序列中找寻与前序对应的值val所在的位置 public int find(int[] inorder,int val,int iL,int iR){int indexiL;for(int iiL;iiR;i){if(inorder[i]val){indexi;}}return index; }在中序遍历中对根节点进行定位时一种简单的方法是直接扫描整个中序遍历的结果并找出根节点这样做需要频繁扫描时间复杂度较高。可以考虑使用哈希表来帮助快速地定位根节点。对于哈希映射中的每个键值对键表示一个元素节点的值值表示其在中序遍历中的出现位置。在构造二叉树的过程之前可以对中序遍历的列表进行一遍扫描就可以构造出这个哈希映射。在此后构造二叉树的过程中就只需要 O(1)的时间对根节点进行定位了。 //哈希表优化版本 public TreeNode buildTree(int[] preorder, int[] inorder) {MapInteger,Integer mapnew HashMap();//只需要遍历一次for(int i0;iinorder.length;i){map.put(inorder[i],i);}return createTree(preorder,inorder,0,preorder.length-1,0,inorder.length-1,map); } public TreeNode createTree(int[] preorder,int[] inorder,int mid,int pR,int iL,int iR,MapInteger,Integer map){if(midpR||iLiR)return null;int valpreorder[mid];TreeNode rootnew TreeNode(val);//直接根据哈希表确定位置int indexmap.get(val);int leftindex-iL;int rightiR-index;root.leftcreateTree(preorder,inorder,mid1,midleft,iL,index-1,map);root.rightcreateTree(preorder,inorder,midleft1,pR,index1,iR,map);return root; }方法二 迭代 看官方题解吧没怎么弄明白 有任何问题欢迎评论区交流欢迎评论区提供其它解题思路代码也可以点个赞支持一下作者哈~
http://www.hkea.cn/news/14511985/

相关文章:

  • 东城企业网站开发企业网站建设专业
  • 网站的后台南昌网站建设公司案例
  • 自己怎样建设淘宝返现网站嘉兴网站如何制作
  • seo网站诊断建立网站主机
  • shopex网站经常出错蓝韵网络专业网站建设怎么样
  • 南阳网站建设口碑新型网络平台代理加盟
  • 企业网站建设公司哪家好盘多多百度网盘搜索引擎
  • 建设电器网站目的及功能定位广州做网站mxszpt
  • 百度怎么推广网站网络设计中网络设备选择的原则
  • 常德网站建设wynet123网站建设的物流
  • 网站建设 企业文化网络推广课程培训
  • 做网站没签合同logo设计 公司 免费
  • 常熟住房和城乡建设局网站网站建设开发计入什么会计科目
  • 网站开发的前台开发工具腾讯推广联盟
  • 静态网页做的网站怎么发到网上收录图片的网站
  • .net wap网站江西赣州人才网最新招聘信息
  • 手机app 网站西安建设网站
  • 如何做色流量网站中国哪家做网站的公司最大
  • 西安哪有做网站的事业单位网站建设方案
  • 网站logo如何替换网页编辑岗位职责
  • 工程类招聘网站哪个好ui网页设计实训报告
  • 免费资源源码网站东莞做网站公司哪家比较好
  • 网站建设好后有些什么资料四川平台网站建设设计
  • 镇江网站建设zjmfkj开发游戏用什么编程软件
  • 英文版网站制作门业网站 模板
  • 网站动画效果怎么做网站建站工作室
  • 查询网站备案进度php网站开发和部署
  • wordpress 建站视频wordpress菜单管理
  • 网站定制业务可以自己做论坛网站吗
  • 信阳建设企业网站网站做友链盈利