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

建设网站地图素材上海建设网站哪家好

建设网站地图素材,上海建设网站哪家好,好的免费网站建站平台,手机app视频制作题目描述 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST 满足如下定义…

题目描述

给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有众数(即,出现频率最高的元素)。

如果树中有不止一个众数,可以按 任意顺序 返回。

假定 BST 满足如下定义:

  • 结点左子树中所含节点的值 小于等于 当前节点的值
  • 结点右子树中所含节点的值 大于等于 当前节点的值
  • 左子树和右子树都是二叉搜索树

示例 1:

输入:root = [1,null,2,2]
输出:[2]

示例 2:

输入:root = [0]
输出:[0]

提示:

  • 树中节点的数目在范围 [1, 10^4] 内
  • -10^5 <= Node.val <= 10^5

进阶:你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内)

思路

使用双指针遍历二叉树搜索树,统计元素出现频率,如果频率count等于maxCount(最大频率),把这个元素加入到结果集中;如果频率count大于maxCount,不仅要更新maxCount,而且要清空结果集。

代码

C++版:

/*** 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:// 递归法,中序遍历int maxCount = 0; // 最大频率int count = 0; // 统计频率TreeNode* pre = NULL;vector<int> result;void traversal(TreeNode * cur){if(cur==NULL) return;traversal(cur->left); // 左if(pre==NULL) count+=1;else if(pre->val==cur->val){ // 与前一个节点数值相同count++;}else{ // 与前一个节点数值不同count=1;}if(count>maxCount){ // 如果计数大于最大值频率maxCount=count; // 更新最大频率result.clear(); // 不要忘记清空result,之前result里的元素都失效了result.push_back(cur->val);}else if(count==maxCount){ // 如果和最大值相同,放进result中result.push_back(cur->val);}pre=cur; // 更新上一个节点traversal(cur->right); // 右return ;}vector<int> findMode(TreeNode* root) {traversal(root);return result;}
};

Python版:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def __init__(self):self.maxCount = 0  # 最大频率self.count = 0  # 统计频率self.pre = Noneself.result = []def searchBST(self, cur):if cur is None:returnself.searchBST(cur.left)  # 左# 中if self.pre is None:  # 第一个节点self.count = 1elif self.pre.val == cur.val:  # 与前一个节点数值相同self.count += 1else:  # 与前一个节点数值不同self.count = 1self.pre = cur  # 更新上一个节点if self.count == self.maxCount:  # 如果与最大值频率相同,放进result中self.result.append(cur.val)if self.count > self.maxCount:  # 如果计数大于最大值频率self.maxCount = self.count  # 更新最大频率self.result = [cur.val]  # 不要忘记清空result,之前result里的元素都失效了self.searchBST(cur.right)  # 右returndef findMode(self, root: Optional[TreeNode]) -> List[int]:self.searchBST(root)return self.result

需要注意的地方

1.二叉搜索树的相关题目,常用中序遍历。

2.如果本题不是二叉搜索树,可以把这个树都遍历了,用map统计频率,把频率排个序,最后取前面高频的元素的集合。


文章转载自:

http://FDMWFbc5.qqkLk.cn
http://yGmRhegk.qqkLk.cn
http://uHOrTx7r.qqkLk.cn
http://mkeMddQk.qqkLk.cn
http://8KrcLmyB.qqkLk.cn
http://dD5jgs0R.qqkLk.cn
http://GSD6YmW9.qqkLk.cn
http://GSDw8MdQ.qqkLk.cn
http://ERi4bik0.qqkLk.cn
http://QIlOWFk3.qqkLk.cn
http://7SdWBdki.qqkLk.cn
http://wUQTfRW9.qqkLk.cn
http://XJGWxQOw.qqkLk.cn
http://NkLriOIp.qqkLk.cn
http://YMoQTNNg.qqkLk.cn
http://KpbVaGTI.qqkLk.cn
http://abvx3OG9.qqkLk.cn
http://ggLteQnR.qqkLk.cn
http://GHCSbKP6.qqkLk.cn
http://fswDqoIK.qqkLk.cn
http://uZ7WnmQV.qqkLk.cn
http://05XEI1gc.qqkLk.cn
http://OhBESRq2.qqkLk.cn
http://qQhC0IT2.qqkLk.cn
http://R0yu1sVj.qqkLk.cn
http://9iQ9U5eF.qqkLk.cn
http://WWJmRIE8.qqkLk.cn
http://gewjCFGW.qqkLk.cn
http://ufUt6Wl0.qqkLk.cn
http://UZPYILFQ.qqkLk.cn
http://www.dtcms.com/wzjs/622891.html

相关文章:

  • 开发一个电商网站最潮流的网站开发脚本语言
  • 个人网站上传有啥要求做企业网站类型
  • 直接做的黄页视频网站黑龙江能建公司官网
  • 福州建网站,做网页制作网站入门
  • 教做美食的网站东莞本地招聘网站有哪些
  • 宁波专业建网站外包和县网页定制
  • 上海有哪些做网站的公司sae wordpress博客
  • 电大考试亿唐网不做网站做品牌武昌网站建设价格多少
  • 瓜果蔬菜做的好的电商网站服务器租用收费
  • php网站开发实例编程wordpress相册插件中文版
  • 网站后台这么做视频教程珠海城乡建设厅网站
  • 织梦做网站如何套取别人网站的模板阿里云服务器报价
  • 网站推广的技术网络推广需要花多少钱
  • 四川网站建设企业网站制作网站备案 2016
  • 网站安全建设方案例文亚洲和欧洲
  • 为什么网站建设图片显示不出来甘肃建设厅执业资格注册中心网站
  • 哪个网站做二微码怎么做企业的网站首页
  • 成都山而网站建设公司织梦修改网站背景颜色
  • 医疗网站如何做优化aso优化师
  • 做网站被坑能找司法吗汕头市区
  • 做运营那些无版权图片网站湖南网站营销推广
  • 网站中链接怎么做的led网站建设哪家专业
  • 仪征市建设发展有限公司网站网站开发与设计难嘛
  • 企业做网站应注意什么淘宝网站建设问题
  • 那个相亲网站做的比较好做网站应达到什么效果
  • 做云购网站wordpress需要npv
  • 我想克隆个网站 怎么做网站推广好做吗
  • 秦皇岛市海港区建设局网站wordpress grace8下载
  • 网站策划培训建设户外腰包网站
  • 网站建设及seo注册公司流程和费用找哪家