#include<iostream>
#include<vector>
using namespace std;
bool isMirror;
vector<int>pre,post;
void getpost(int root,int tail){
if(root>tail)return;
int i=root+1,j=tail;
//按普通情况处理
if(!isMirror){
//左子树
while(i<=tail&&pre[i]<pre[root])i++;
//右子树
while(j>root&&pre[j]>=pre[root])j--;
}else{
//左子树
while(i<=tail&&pre[i]>=pre[root])i++;
//右子树
while(j>root&&pre[j]<pre[root])j--;
}
if(i-j!=1){
return;
}
//处理左子树
getpost(root+1,j);
//处理右子树
getpost(i,tail);
post.push_back(pre[root]);
}
int main(){
int n;
cin>>n;
pre.resize(n);
for(int i=0;i<n;i++){
cin>>pre[i];
}
isMirror=false;
getpost(0,n-1);
if(post.size()!=n){
isMirror=true;
post.clear();
getpost(0,n-1);
}
if(post.size()==n){
cout<<"YES"<<endl;
cout<<post[0];
for(int i=1;i<n;i++){
cout<<" "<<post[i];
}
}else{
cout<<"NO"<<endl;
}
return 0;
}
1043 Is It a Binary Search Tree
张小明
前端开发工程师
Hexo 完整使用指南(从搭建到部署)
你想了解 Hexo 的相关使用方法,Hexo 是一款快速、简洁且高效的静态博客生成框架,基于 Node.js 构建,广泛用于搭建个人博客(如部署到 GitHub Pages、Gitee Pages)。下面从环境准备、博客搭建、内容创作到部署上线&#…
java之微信机器人二次开发
在微信深度渗透社交与商业的今天,个人微信号已成为企业获客、用户运营的核心载体。然而,手动操作效率低、功能受限等问题,让“如何高效管理微信生态”成为开发者与企业的共同痛点。WTAPI作为专注微信个人号二次开发的私有API框架,…
微服务架构设计 - 分布式事务使用方法论
架构师的抉择:从 ACID 到 CAP/BASE,深谈分布式事务选型方法论 引言 在单体架构向微服务演进的过程中,事务的治理是跨越“逻辑边界”与“物理边界”的核心挑战。我们不仅要理解关系型数据库的 ACID,更要掌握分布式环境下的 CAP 定律与 BASE 理论。本文将通过理论深度拆解,…
【计算机毕业设计案例】基于Java的外卖订餐系统基于Java的外卖系统(程序+文档+讲解+定制)
博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…
第1章:JavaWeb基础概念
什么是JavaWeb?架构之间有哪些区别?Java Web 定义:JavaWeb是基于Java技术栈开发的Web应用的总称;Web(World Wide Web,中文为万维网)是一种基于互联网的信息服务系统;核心是通过浏览器…
YP2233W,700~2700MHz宽频带工作范围的高性能功率放大器, 现货库存
型号介绍今天我要向大家介绍的是”英诺讯“的一款放大器——YP2233W。 它拥有强大的“力量”,在 1.6GHz 频率下,它可以提供 26dB 的高增益,将微弱的信号放大成强大的信号,就像一位举重选手,可以举起沉重的杠铃。而且&a…