百亿富翁

题目描述
这天小明买彩票中了百亿奖金,兴奋的他决定买下蓝桥公司旁的一排连续的楼房。

已知这排楼房一共有 NN 栋,编号分别为1∼N,第 ii 栋的高度为h i 。

好奇的小明想知道对于每栋楼,左边第一个比它高的楼房是哪个,右边第一个比它高的楼房是哪个(若不存在则输出 -1)。但由于楼房数量太多,小明无法用肉眼直接得到答案,于是他花了 1 个亿来请你帮他解决问题,你不会拒绝的对吧?

输入描述
第 1 行输入一个整数 N.表示楼房的数量。

第 2 行输入 N 个整数(相邻整数用空格隔开),分别为 h_1,h_2,…,h_N,表示楼房的高度。
1 <= N <= 7 x 10 ^ 5, 1 <= hi <= 10 ^ 9

输出描述
输出共两行。

第一行输出 N 个整数,表示每栋楼左边第一栋比自己高的楼的编号。

第二行输出 N 个整数,表示每栋楼右边第一栋比自己高的楼的编号。

输入输出样例
示例 1
输入

5
3 1 2 5 4

输出

-1 1 1 -1 4
4 3 4 -1 -1

AC代码

#include<bits/stdc++.h>
using namespace std;
const int N = 3e6 + 10;
stack<int>st;
int n , a[N] , l[N] , r[N];
int main()
{cin >> n;for(int i = 1 ; i <= n ; i ++) cin >> a[i];for(int i = 1 ; i <= n ; i ++){while(st.size() && a[st.top()] <= a[i]) st.pop();if(st.size()) l[i] = st.top();else l[i] = -1;st.push(i);}while(!st.empty()) st.pop();for(int i = n ; i >= 1 ; i --){while(st.size() && a[st.top()] <= a[i]) st.pop();if(st.size()) r[i] = st.top();else r[i] = -1;st.push(i);}for(int i = 1 ; i <= n ; i ++) cout << l[i] << " \n"[i == n];for(int i = 1 ; i <= n ; i ++) cout << r[i] << " \n"[i == n];return 0;
}

百亿富翁 (单调栈)相关推荐

  1. 蓝桥 百亿富翁 stack<Type> 栈

    题目描述 这天小明买彩票中了百亿奖金,兴奋的他决定买下蓝桥公司旁的一排连续的楼房. 已知这排楼房一共有 N栋,编号分别为 1∼N,第 i栋的高度为hi​. 好奇的小明想知道对于每栋楼,左边第一个比它高 ...

  2. 百亿互金平台技术栈大起底

    技术栈(technology stack)就是一个公司的透视镜,从某些程度上可以展示出公司的技术实力.从技术桟也可以看出整个平台的技术要素,平台大小规模等,今天来给大家分享我司的技术全家桶. 总览 闲 ...

  3. 算法笔记(三)特殊数据结构——哈希表、有序表、并查集、KMP、Manacher、单调栈、位图、大数据类题

    layout: post title: 算法笔记(三)特殊数据结构--哈希表.有序表.并查集.KMP.Manacher.单调栈.位图.大数据类题 description: 算法笔记(三)特殊数据结构- ...

  4. 百亿级日志系统架构设计及优化

    作者:杨津萍,大数据架构师,从业十余年,专攻 Web 架构及大数据架构. 来自:51cto技术栈(ID:blog51cto) " 日志数据是最常见的一种海量数据,以拥有大量用户群体的电商平台 ...

  5. 每秒5百亿亿次!Meta祭出元宇宙巨兽,联手英伟达打造全球最强超算

    来源:新智元 1月25日,Meta联合英伟达正式推出了一个全新的超算--「人工智能研究超级集群」( AI Research SuperCluster,缩写RSC). Meta的计划也很「朴素」,首先把 ...

  6. DockOne微信分享( 九十一):打造百亿级数据处理量的弹性调度容器平台

    本文讲的是DockOne微信分享( 九十一):打造百亿级数据处理量的弹性调度容器平台[编者的话]本次分享介绍七牛数据处理团队的容器技术实践经验,分享七牛如何通过自主研发的容器调度框架打造易扩展.易部署 ...

  7. 高并发资金交易系统设计方案—百亿双十一、微信红包背后的技术架构

    21CTO社区导读 : 今天带来的是一个长篇文章.主要讲解高可用的互联网交易系统架构,包括双十一.支付宝&微博红包技术架构,以及微信红包的技术架构,希望能给各位提供价值. 概述 话说每逢双十一 ...

  8. Redis基本使用及百亿数据量中的使用技巧分享

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9941208.html 作者:大石头 时间:2018-11-10 晚上20:00 地点:钉钉群(组织代码B ...

  9. *【牛客 - 318B】签到题(单调栈,水题)

    题干: 众所周知,IG是英雄联盟S8世界总决赛冠军,夺冠之夜,数亿人为之欢呼! 赛后某百分百胜率退役ADC选手的某表情包意外走红,某苟会长看到此表情包也想模仿. 于是有n个友爱的萌新决定每人都送会长一 ...

最新文章

  1. Pytorch的神经网络编程学习第一节
  2. 纳税服务系统【异常处理、抽取BaseAction】
  3. 2017-2018-1 20155231 《信息安全系统设计基础》第6周学习总结
  4. 【深度学习】你心目中 idea 最惊艳的深度学习领域论文是哪篇?
  5. 人的价值不在于能力,而在于位置 » 社区 | Ruby China
  6. -6dB的效果也不错
  7. 网络流性质及常见模型、改进空间的思考
  8. c语言吸收最后一个空格,新人提问:如何将输出时每行最后一个空格删除
  9. spring的路径匹配问题
  10. 新冠全球蔓延,AI+大数据拿什么拯救全人类? | AI 技术生态论
  11. Qt5类之QLine and QLineF
  12. Lottie 动画在项目中的使用总结
  13. Win8系统怎么看电脑是32位还是64位?
  14. 棋圣高调搬弄名人日本棋圣挟五冠搬弄对手
  15. window子对象的详细介绍 _@jie
  16. 使用d3画横向组织架构图,兼容ie8(一)
  17. uni-app运行在手机或模拟器上(使用雷电模拟器)
  18. 10没有基于策略的qos_电力通信 | 基于智能光网络系统的配用电业务承载方案研究...
  19. 一张图透过结构看世界--掌握结构化思维
  20. 【安全】威胁建模方法

热门文章

  1. 推荐一些Fortran参考书
  2. S5PV210 GPIO驱动及其在android2.3.1下jni调用
  3. JAVA操作properties配置文件
  4. 大漠长空孤烟直,吾自翔天遨竟游!
  5. 我们建造了学校+ WPBeginner赠品获奖者
  6. html $符号的作用,javascript 中$符号是代表什么意思!
  7. 讯搜安装报错You need a working C++ compiler to compile Xapian
  8. 激光测距仪非接触式地表裂缝监测仪
  9. java 与 SQL 的邂逅 之二 (简单话)
  10. 110配线架打法图解_配线架打线的方法以及110配线架的按照流程