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

百度自助网站建设绛县苗木网网站是由谁建设的

百度自助网站建设,绛县苗木网网站是由谁建设的,wordpress 推流,建网站的步骤1、题目描述 . - 力扣(LeetCode) 要求:给一个包含重复值的BST,找出并返回BST中的众数(出现频次最高的元素)。 注:如果树中有不止一个众数可以按任意顺序返回,即如果有多个众数多个都要返回。 ps&#xff1…

1、题目描述

. - 力扣(LeetCode)

要求:给一个包含重复值的BST,找出并返回BST中的众数(出现频次最高的元素)。

注:如果树中有不止一个众数可以按任意顺序返回,即如果有多个众数多个都要返回。

ps:另外要求不使用额外的空间。

2、分析

分析:看起来还是要求在中序遍历的过程中就记录结果。

(1)在遍历的过程中记录每个数字出现的次数并不断更新,同时维护历史所有的出现过的最大次数的数。

(2)如果最大次数被刷新,就清空向量result并插入最新的众数;如果当前数字出现的次数小于历史最大次数啥都不做;

(3)如果当前数字出现的子树等于历史最大次数则将这个数也插进去。

class Solution {
public:TreeNode* pre = NULL; //记录上一个节点(的数)int max_times = 0;    //记录历史最大出现的次数int cur_times = 0;    //记录当前数字出现的次数vector<int> findMode(TreeNode* root) {vector<int> res;inordertraversal(root, res);return res;}void inordertraversal(TreeNode* root, vector<int>& res){if(root == NULL) return;inordertraversal(root->left, res); //左//中间节点的处理逻辑if(pre != NULL && root->val != pre->val){cur_times = 0;//如果出现新的数字了就直接将当前统计次数清零(随后有自加1)}pre = root; //更新precur_times++; //更新cur_times//超过之前记录的最大出现次数了if(cur_times > max_times){ res.clear();res.push_back(root->val);max_times = cur_times;//没超过只是触及我们也要记录}else if(cur_times == max_times){res.push_back(root->val);}inordertraversal(root->right, res);//右}
};

3、实现代码

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <queue>
#include <stack>
#include <map>
#include <math.h>using namespace std;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* pre = NULL; //记录上一个节点(的数)int max_times = 0;    //记录历史最大出现的次数int cur_times = 0;    //记录当前数字出现的次数vector<int> findMode(TreeNode* root) {vector<int> res;inordertraversal(root, res);return res;}void inordertraversal(TreeNode* root, vector<int>& res){if(root == NULL) return;inordertraversal(root->left, res); //左//中间节点的处理逻辑if(pre != NULL && root->val != pre->val){cur_times = 0;//如果出现新的数字了就直接将当前统计次数清零(随后有自加1)}pre = root; //更新precur_times++; //更新cur_times//超过之前记录的最大出现次数了if(cur_times > max_times){ res.clear();res.push_back(root->val);max_times = cur_times;//没超过只是触及我们也要记录}else if(cur_times == max_times){res.push_back(root->val);}inordertraversal(root->right, res);//右}
};int main()
{Solution s1;/*TreeNode node4(1);TreeNode node5(3);TreeNode node3(5);TreeNode* pnode2 = new TreeNode(2, &node4, &node5);TreeNode root(4, pnode2, &node3);
*/TreeNode node3(2);TreeNode* pnode2 = new TreeNode(2, &node3, NULL);TreeNode* pnode1 = new TreeNode(1, NULL, pnode2);vector<int> res = s1.findMode(pnode1);for(int num:res){cout << num << ",";}cout << endl;}

 

http://www.yayakq.cn/news/111928/

相关文章:

  • 知名企业网站大全专门做羽毛球的网站
  • 网站公司图片建设网站需要数据库备份
  • 织梦做的网站打不开网页临沂做网站建设的公司
  • 在小说网站做编辑怎么找承德网站建设流程
  • 建设集团招工信息网站合肥市建设网
  • 高端的培训行业网站开发男女做那种的的视频网站
  • 有哪些专做自然风景图片的网站seo推广和百度推广的区别
  • 怎样保存网站资料做证据网站建设公司工作枯燥吗
  • 可以做mv 的视频网站国外游戏商城网站欣赏
  • 电商网站开发商深圳企业建站招聘
  • 外包做网站多少钱静态网页开发工具
  • 网站建设与管理适合男的还是女的中国视觉设计网站
  • 做网站 设计师很网络零售的优势有哪些
  • 网站邮件发送功能怎么做湖南网站建设kaodezhu
  • 辽宁鞍山建设工程信息网站苏州诗华洛网站建设
  • 义乌网站建设联系方式经典网站建设
  • 网站建设程序开发过程网站系统建设招标文件
  • 网站让百度收录地方网站方案
  • 专门做拼花网站有意义的网站
  • 泾县网站建设2022年小微企业所得税优惠政策
  • 制作网站协议网站怎么建站点
  • 宿迁网站建设与管理网络工程师考试大纲
  • 金华在线制作网站国家域名注册证书有用吗
  • 白酒 网站模板WordPress站点地址填错
  • 校园网站建设论文做酒店网站设计
  • 做网站 多少人vs2013做网站
  • 成都手机网站建设哪家公司好网页设计培训哪家机构好
  • 网站规划的公司网站建设的宣传词
  • 做rap的网站购物网站
  • 做旅游门票网站需要什么材料调用wordpress媒体库