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

温州网站快速排名成都网站seo报价

温州网站快速排名,成都网站seo报价,做年报的网站怎么登不上去了,asp.net网站加速题意理解#xff1a; 首先明确#xff1a; 二叉搜索树中序遍历是严格的单调递增序列#xff0c;也就是说#xff0c;传统意义上得到二叉搜索树不存在相同的数#xff0c;也不可能存在众数。 所以#xff1a; 这里的二叉搜索树不是严格意义上的二叉搜索树#xf… 题意理解 首先明确  二叉搜索树中序遍历是严格的单调递增序列也就是说传统意义上得到二叉搜索树不存在相同的数也不可能存在众数。 所以        这里的二叉搜索树不是严格意义上的二叉搜索树它允许重复的值其中序遍历是不严格的单调增的序列。 又因为     二叉搜索树是不严格的单调增序列所以其相同的值总是挨着的 所以         我们能从前后不相同的两个值为一个起始点统计相同数的个数 所以         我们能维护一个最大的count在整个遍历在整个过程中并保存对应的元素值 解题思路         对应两种树的遍历思路 递归        迭代 1.递归 中间节点的处理逻辑是 pre的值等于cur的值时统计当前元素的count否则count开启重置count1 对maxCount进行更新 若当前countmaxCount,则当前root的值进入结果集 若当前countmaxCount则当前结果集清空root的值进入结果集maxCountcount值更新 若当前countmaxCount,无操作 /*** 这里找二叉搜索树的众数首先明确正常的二叉搜索数不存在重复的数据其中序遍历是严格单调增序列* 所以这里的二叉树是非常规的二叉树它允许重复的值重复的值总是存在于左子树* 同时又因为二叉搜索树中序遍历是有序的所以重复的数总是挨着的可以一个起始点开始count,统计出现次数* param root* return*///保存结果ListInteger resultListnew ArrayList();//双指针是想前一个节点TreeNode prenull;//记录当前元素重复次数int count0;//记录最大重复次数int maxCount0;//递归解法public int[] findMode(TreeNode root) {//中序遍历//左子树处理if(Objects.nonNull(root.left)) findMode(root.left);//中间节点处理if(prenull||pre.val!root.val){count1;}else{count;}//最大count更新if(maxCountcount){resultList.clear();resultList.add(root.val);maxCountMath.max(maxCount,count);}else if(maxCountcount){resultList.add(root.val);}// 节点推移preroot;//右子树处理if(Objects.nonNull(root.right)) findMode(root.right);//list转数组return resultList.stream().mapToInt(Integer::intValue).toArray();} 2.迭代 迭代和递归的中间处理逻辑是相同的只是使用自定义栈来模拟递归过程来防止栈溢出 //迭代解法public int[] findMode2(TreeNode root){ListInteger resultListnew ArrayList();//双指针是想前一个节点TreeNode prenull;//记录当前元素重复次数int count0;//记录最大重复次数int maxCount0;//自定义栈StackTreeNode stacknew Stack();stack.push(root);while(!stack.isEmpty()){TreeNode curstack.peek();if(cur!null){stack.pop();//中序入栈有因为栈总是先进后出的所以以一下顺序入栈//对子树进行非空判断后入栈则子树不会导致null值入栈//手动null值入栈是一个信号即下一个值为中间节点一定是非空的进行识别并处理if(Objects.nonNull(cur.right)) stack.push(cur.right);stack.push(cur);stack.push(null);if(Objects.nonNull(cur.left)) stack.push(cur.left);}else{stack.pop();curstack.pop();//获得中间节点中间节点的处理逻辑if(prenull||pre.val!cur.val) count1;else count;if(maxCountcount){resultList.add(cur.val);} else if (maxCountcount) {resultList.clear();resultList.add(cur.val);maxCountcount;}precur;}}return resultList.stream().mapToInt(Integer::intValue).toArray();} 3.分析 时间复杂度         递归O(n)         迭代O(n) 空间复杂度         递归O(1)         迭代O(n)
http://www.huolong8.cn/news/258581/

相关文章:

  • 电商类网站咋做大连连城传媒
  • 网站建设维护管理办法青岛专业做网站
  • wordpress登录栏seo在哪可以学
  • 凡科网站建设之后怎么删除网站建设的背景有哪些
  • 网站开发能作为无形资产吗梦幻西游官网
  • 优度公司做的网站重庆网站制作的网站
  • 安徽茶叶商城网站建设公司网站的服务器
  • 有做公司网站网站调用网页怎么做
  • 天津教育学会网站建设湖南网站建设有限公司
  • 专业制作公司网站公司mvc中手把手做网站
  • 河北网站建设有限公司app推广接单渠道
  • 游戏网站建设多少钱想做个app软件需要什么条件
  • 甘肃省路桥建设集团网站wordpress cosy
  • 做网站有底薪吗字体在线生成器
  • 网站建设合同属于什么合同衡阳网站建设开发价格
  • 可以做点赞的网站杨陵区住房和城乡建设局网站
  • 广西建工集团冶金建设公司的网站书籍网站建设的目的
  • 专门做杂志的网站有哪些为什么做营销型网站
  • 哈尔滨门户网站是什么wordpress主页代码
  • 个体工商户网站备案流程家用电脑搭建服务器
  • 免费购物网站程序好的网站开发公司
  • 扬州建设公司网站关键词排名推广软件
  • 佛山网络公司哪家便宜杭州关键词优化平台
  • 厦门创意互动网站建设淘宝怎么做基础销量什么网站好
  • 江浙沪做网站的公司南阳网站制作怎么样
  • 做商城购物网站哪儿能做邯郸网站建设
  • 网站开发app开发调查问卷 wordpress
  • 门户网站建设服务报价西湖区网站建设
  • 外贸网站推广几个月后都没有效果网站 维护 页面
  • 网站建设需要会什么软件有哪些广州最新新闻事件今天