(二叉树DFS)下落的树叶

题目:

给一棵二叉树,每个结点都有一个水平位置:左子结点在它左边1个单位,右子结点在右边1个单位。从左向右输出每个水平位置的所有结点的权值之和。如图所示,从左到右的3个位置的权和分别为7,11,3。按照递归(先序)方式输入,用-1表示空树。
Sample Input
5 7 -1 6 -1 -1 3 -1 -1
8 2 9 -1 -1 6 5 -1 -1 12 -1
-1 3 7 -1 -1 -1
-1

Sample Output

Case 1:
7 11 3

Case 2:
9 7 21 15

分析与解答

1.把树根放在数组中间下标处
2.不断递归调用,左边右边子树,输入结点的值,改变下标对应的数值
3.遍历数组,从左往右输出值即可
4.dfs递归思想:类似于
https://blog.csdn.net/qq_40828914/article/details/81279356
先序的根左右都是这么调用

#include<iostream>
using namespace std;const int maxn = 200;
int sum[maxn];void bulid(int p){int v;cin>>v;if(v==-1) return ;sum[p]+=v;build(p-1);build(p+1);
}bool init(){int v;cin>>v;if(v==-1) return false;memset(sum,0,sizeof(sum));int pos=maxn/2;sum[pos]=v;bulid(pos-1);build(pos+1);
}int main(){int kase=0;while(init()){int p=0;while(sum[p]==0) p++;cout<<"Case "<<++kase<<":\n"<<sum[p++];while(sum[p]!=0) cout<<" "<<sum[p++];cout<<"\n\n";}return 0;
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

orchard mysql_Orchard Core创建CMS/Blog站点

安装.NET Core SDK安装visual studio community或者visual studio for MAC根据系统下载安装对应的visual studio版本使用VS创建ASP.NET Core工程本文示例使用的是visual studio for mac&#xff0c;创建ASP.NET Core工程项目 (.net core 版本选择最新版3.1)&#xff1a;创建后默…

(连续子序列)唯一的雪花

题目&#xff1a; 输入一个长度为n(n<1e6)的序列A&#xff0c;找到一个尽量长的连续子序列AL~AR,使得该序列中没有相同元素。输出最大长度。 分析与解答 对于这种子序列问题我们采用模拟的方法 方法一&#xff1a;利用set 1.如果有一个序列的元素没出现过&#xff0c;就…

php连接mysql开发环境_Windows下安装PHP开发环境

一、Apache因为Apache官网只提供源代码&#xff0c;如果要使用必须得自己编译&#xff0c;这里我选择第三方安装包Apache Lounge。首先下载并安装vc redist&#xff0c;这是Apache运行必需的一个组件。下载Apache解压版&#xff0c;将解压后的文件夹放在你想要安装的路径下。修…

(DFS)四分树

题目&#xff1a; 如图6-8所示&#xff0c;可以用四分树来表示一个黑白图像&#xff0c;方法是用根结点表示整幅图像&#xff0c;然后把行列个分城两等分&#xff0c;按照图中的方式编号&#xff0c;从左到右对应4个子结点。如果某子结点对应的取余全白或全黑&#xff0c;则直…

centos7.3 mysql5.7_CentOS7.3 yum install MySQL5.7

1.更新 yum mysql5.7 源2.yum mysql 源配置禁用MySQL5.6的源&#xff1a;#yum-config-manager --disable mysql56-community启用MySQL5.7的源&#xff1a;#yum-config-manager --enable mysql57-community-dmr3.查看 mysql install list#yum repolist enabled |grep mysql4.安装…

python切片原理_分析python切片原理和方法

使用索引获取列表的元素(随机读取)列表元素支持用索引访问&#xff0c;正向索引从0开始colors["red","blue","green"]colors[0] "red"colors[1]"blue"同时&#xff0c;也可以使用负向索引(python中有序序列都支持负向索引)c…

(二分搜索)cable master

题目&#xff1a; Inhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Committee has volunteered and has promised to organize the most honest contest ever. It was decided to connect computers for the contestants us…

mysql max case连用_mysql 嵌套 case when 的问题

sql 语句如下&#xff1a;SELECTa.uc_id id,(CASE WHEN a.uc_realname IS NULL OR a.uc_realname THEN a.uc_sys_name ELSE a.uc_realname END) AS realName,a.uc_register_time registerTime,a.uc_phone phone,a.uc_last_login_time lastLoginTime,(CASEWHEN LEFT (a.uc_code,…

(二分搜索法尺取法)subsequence

题目 A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal length of the subsequence of consecutive elements of the s…

Abp mysql guid_ABP领域层 – 值对象 - ABP 中文文档

3.2 ABP领域层 – 值对象3.2.1 简介用来描述领域的特殊方面、且没有标识符的一个对象&#xff0c;叫做值对象。实体有自己的唯一标识&#xff0c;而值对象是没有标识的。如果两个实体的标识是不同的&#xff0c;那么它们是两个不同的实体&#xff0c;即使这两个实体的其它属性值…

(分治法)归并排序

分治算法一般分为如下3个步骤。 划分问题&#xff1a;把问题的实例划分成子问题。 递归求解&#xff1a;递归解决子问题。 合并问题&#xff1a;合并子问题的解得到原问题的解。 归并排序 按照分治三步法&#xff0c;对归并排序算法介绍如下。 划分问题&#xff1a;把序列…

mysql order by rand 优化_mysql order by与by rand() 的优化经验

介绍下MySQL中的order by语句。几种order by的情况从最简单的case开始看起。用这个表来说明&#xff1a;(10w行数据)1、 最简单的order ―― order by索引字段从explain的结果来看(Extra列)&#xff0c;这个语句并不作排序。因为字段a已经是有顺序的。就是按照索引a的顺序依次…

(分治)逆序对问题

题目&#xff1a; 给一列数a1,a2,…,an&#xff0c;求它的逆序对数&#xff0c;即有多少个有序对(i,j)&#xff0c;使得i< j但ai>aj。n可以高达1e6 分析与解答 由于是从小到大进行合并操作&#xff0c;可以发现如果右半数组的元素q放入临时空间中&#xff0c;那么左半…

python locust api_干货 | 基于Locust的接口压测

作者介绍&#xff1a;吴锋雷。PP云高级测试工程师&#xff0c;拥有10年业务研发和测试经验&#xff0c;目前负责SDK及相关产品的测试工作。系统上线前一般要通过压力测试来判断下是否能承受预估的访问量&#xff0c;假设我们要测试的接口每天访问量是10万&#xff0c;那么平均下…

(贪心)背包问题

1.最优装载问题。 给出n个物体&#xff0c;第i个物体重量为wi。选择尽量多的物体&#xff0c;使得总重量不 超过C。 由于只关心物体的数量&#xff0c;所以装重的没有装轻的划算。只需把所有物体按重量从小到大 排序&#xff0c;依次选择每个物体&#xff0c;直到装不下为止。…

(贪心)区间问题大致思路

1.选择不相交区间。 a.描述&#xff1a; 数轴上有n个开区间(ai, bi)。选择尽量多个区间&#xff0c;使得这些区间两两 没有公共点。 b.思路总结&#xff1a; 1.区间x完全包含y&#xff0c;选y 2.按照bi从小到大排序&#xff0c;从第一个区间开始选 3.把所有和上一个区间相…

python queue windows_python Queue模块

创建一个“队列”对象import Queuemyqueue Queue.Queue(maxsize 10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。将一个值放入队列中myqueue.put(10)调用队…

STM32的DHT11

DHT11基础 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传 感器。它应用专用的数字模块采集技术和温湿度传感技术&#xff0c;确保产品具有极高 的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测 温元件&#xff0c;并与一个高性能…

(priority_queue)自定义优先级

思考与总结&#xff1a; 1.优先队列&#xff0c;先出队列元素不是先进队列的元素&#xff0c;而是队列中优先级最高的元素 2.遇到这种题一般把每一个数据封装到一个struct里 3.然后根据优先级判断依据&#xff0c;我们通过重定向定义优先队列的优先级 如果我们写bool opera…

python 如何匹配列表中某个单词_Python中部分指定单词的最佳匹配项

如果要重复执行此操作&#xff0c;应创建一个索引&#xff1a;wordlist [word.strip() for word in "run, ran, rat, rob, fish, tree".split(,)]from collections import defaultdictclass Index(object):def __init__(self, wordlist()):self.trie defaultdict(s…