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

石狮app网站开发哪家好政务系统网站

石狮app网站开发哪家好,政务系统网站,aspcms模板,河南网站制作工作室文章目录 1. 题目描述2. 我的尝试 1. 题目描述 给定一颗二叉树,树的每个节点的值为一个正整数。如果从根节点到节点 N 的路径上不存在比节点 N 的值大的节点,那么节点 N 被认为是树上的关键节点。求树上所有的关键节点的个数。请写出程序,并…

文章目录

  • 1. 题目描述
  • 2. 我的尝试

1. 题目描述

给定一颗二叉树,树的每个节点的值为一个正整数。如果从根节点到节点 N 的路径上不存在比节点 N 的值大的节点,那么节点 N 被认为是树上的关键节点。求树上所有的关键节点的个数。请写出程序,并解释解题思路。
在这里插入图片描述

输入:3, 1, 4, 3, null, 1, 5
输出:4(图中蓝色节点是关键节点)

2. 我的尝试

这道题麻烦的地方在于输入与建树。由题意可知,输入数据是以完全二叉树形式进行输入的,因此可以考虑直接用数组来存储树,然后再遍历每一个节点并判断其是否为关键节点。

数据的输入是以空格作为分隔符的,因此不适宜直接用 cin进行读入。可以用 getline 函数读入整行,再对读入的字符串遍历进行处理。

#include <bits/stdc++.h>using namespace std;int main() {string str;    // 存储输入的字符串int val = 0;   // 用于计算当前输入节点的值vector<int> tree;int cnt = 0;getline(cin, str);int n = str.size();// 建树for (int i = 0; i < n; i ++) {auto c = str[i];if ('0' <= c && c <= '9') {val = val * 10 + c - '0';} else if (val) {tree.push_back(val);val = 0;} else if (c == 'n') {tree.push_back(-1);}}tree.push_back(val);n = tree.size();// 对除根节点外所有节点遍历,将其与各祖先节点比较,判断是否为关键节点for (int i = 0; i < n && tree[i] != -1; i ++) {int val = tree[i]; bool flag = true;for (int p = (i - 1) / 2; p >= 0; p = (p - 1) / 2) {if (tree[p] > val) flag = false;if (p == 0) break;}if (flag) cnt ++;}// 根节点一定为关键节点,直接加1cnt ++;cout << cnt;
}
http://www.15wanjia.com/news/164089.html

相关文章:

  • 做淘宝网站用什么软件有哪些手动删除wordpress插件
  • wordpress做推送检查网站的跳转路径是否清晰 哪里要优化
  • wordpress银行模板下载排名优化公司案例
  • 随州网站建设厂家wordpress号码
  • 免费移动网站建站怎样使自己做的网站上线
  • 德阳网站优化好用的海报设计网站
  • 阿克苏网站建设一条龙服务建筑通
  • 昆明网站建站平台php网站开发背景
  • 打开上次浏览的网站好的做外贸的网站
  • 重庆营销型网站建设公司怎么找一手app推广代理
  • 做网站要找什么软件安庆信德建设咨询有限公司网站
  • 网站做301跳转的方法河南省建筑网官网
  • 做网站前应该怎么处理项目网络计划软件教程
  • 网站建设类书籍宁波专业做公司网站的科技公司
  • 网站建设绿茶广州番禺属于哪个区
  • 试用网站开发游戏币网站怎么做
  • 电子商务网站开发系统平台免费网络推广软件有哪些
  • asp.net 新建网站东莞网站排名优化公司
  • 52做网站云南网直播
  • 做有后台的网站建设工程质量检测公司网站
  • 重庆网站建设公司下载网络设置怎么设置
  • 免费制作广州网站wordpress删除文章
  • 网站建设与推广推荐做网站前端和平面配合
  • 做静态网站接单开发软件需要学什么专业
  • 减少wordpress响应时间关于seo网站优化公司
  • c asp.net 发布网站营销型网站开发推广
  • phpcms 手机网站html教程 pdf
  • 网站建站模式广州市门户网站建设
  • 义乌1688网站网页设计七色板网站建设
  • 北京网站优化推广分析体验营销