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

襄阳seo站内优化国内网络营销公司排名

襄阳seo站内优化,国内网络营销公司排名,快车app官方下载,大鱼号自媒体平台单调栈 问题描述 给定一个长度为 NN 的序列 aa。 第一行输出每个数字其左边第一个比其大的数字,不存在则输出 -1。 第二行输出每个数字其右边第一个比其大的数字,不存在则输出 -1。 第三行输出每个数字其左边第一个比其小的数字,不存在则…

单调栈

问题描述

给定一个长度为 NN 的序列 aa

第一行输出每个数字其左边第一个比其的数字,不存在则输出 -1

第二行输出每个数字其右边第一个比其的数字,不存在则输出 -1

第三行输出每个数字其左边第一个比其的数字,不存在则输出 -1

第四行输出每个数字其右边第一个比其的数字,不存在则输出 -1

update:本题数据于 2025-01-13 加强至 2×1052×105,以杜绝暴力通过。

输入格式

第一行输入一个正整数 NN。(1≤N≤2×105)(1≤N≤2×105)

第二行输入 NN 个正整数,表示序列 aa。(1≤ai≤105,1≤i≤N)(1≤a**i≤105,1≤iN)

输出格式

第一行输出每个数字其左边第一个比其的数字,不存在则输出 -1

第二行输出每个数字其右边第一个比其的数字,不存在则输出 -1

第三行输出每个数字其左边第一个比其的数字,不存在则输出 -1

第四行输出每个数字其右边第一个比其的数字,不存在则输出 -1

样例输入

5
4 3 2 1 5

样例输出

-1 4 3 2 -1
5 5 5 5 -1
-1 -1 -1 -1 1
3 2 1 -1 -1
import java.util.*;public class Main {public static void main(String[] args) {Deque<Integer> stack =new ArrayDeque<>();//使用双端队列,实现单调栈Scanner scan = new Scanner(System.in);int n = scan.nextInt();int[] array = new int[n];for(int i=0;i<n;i++) {array[i] = scan.nextInt();}int[] leftbigger = new int[n];int[] rightbigger = new int[n];int[] leftsmaller = new int[n];int[] rightsmaller = new int[n];Arrays.fill(leftbigger,-1);Arrays.fill(rightbigger,-1);Arrays.fill(leftsmaller,-1);Arrays.fill(rightsmaller,-1);for(int i=0;i<n;i++) {while(!stack.isEmpty() && array[stack.peek()]<=array[i]){//保证stack里存的是大的,不是就要pop出来。stack.pop();}if(!stack.isEmpty()) {leftbigger[i] = array[stack.peek()];}stack.push(i);}stack.clear();for(int i=n-1;i>=0;i--) {while(!stack.isEmpty()&&array[stack.peek()]<=array[i]){//保证stack里存的是大的,不是就要pop出来。stack.pop();}if(!stack.isEmpty()) {rightbigger[i] = array[stack.peek()];}stack.push(i);}stack.clear();for(int i=0;i<n;i++) {while(!stack.isEmpty()&&array[stack.peek()]>=array[i]){//保证stack里存的是小的,不是就要pop出来。stack.pop();}//刚开始栈为空if(!stack.isEmpty()) {leftsmaller[i] = array[stack.peek()];}stack.push(i);}stack.clear();for(int i=n-1;i>=0;i--) {while(!stack.isEmpty()&&array[stack.peek()]>=array[i]){//保证stack里存的是xiao的,不是就要pop出来。stack.pop();}if(!stack.isEmpty()) {rightsmaller[i] = array[stack.peek()];}stack.push(i);}stack.clear();display(leftbigger);display(rightbigger);display(leftsmaller);display(rightsmaller);scan.close();}private static void display(int[] array) {for(int i=0;i<array.length;i++) {System.out.print(array[i]+" ");}System.out.println();}}
http://www.dtcms.com/wzjs/65787.html

相关文章:

  • 锦州网站制作公司个人模板建站
  • 西安哪里可以做公司网站seo技术助理
  • 淘宝购物网站的建设微信营销管理软件
  • 做微商哪个网站比较好爱站网站排名查询工具
  • 高校档案网站建设的目的是什么意思关键词看片
  • wordpress微信群发布平台优化方案模板
  • 如何做好商务网站的运营怎么做百度网址大全下载
  • 站内营销推广的案例百度搜索排行榜前十名
  • 最好的网站建设公司哪家好在百度怎么创建自己的网站
  • 手机怎么制作微信公众号宁波正规优化seo软件
  • 菏泽做企业网站seo和网络推广有什么区别
  • 兴宁市网站建设线上推广费用
  • 广州东莞网站建设公司网页怎么制作
  • 制作一个网页要多少钱seo关键词推广多少钱
  • 怎么申请网站域名好的推广平台
  • 手机做ppt的免费模板下载网站中国网站排名查询
  • 做网站买一个域名多少钱沧州网站优化
  • 如何在旅游网站上做攻略信息流优化师职业规划
  • 网站建设的6个基本步骤制作网页的步骤
  • 滁州做网站第三方营销平台有哪些
  • 在北京做网站制作一个月多少钱广告投放网
  • 青秀区网站建设新网店怎么免费推广
  • 网站建设公司行业现状哪里可以学seo课程
  • 兰州新区规划建设局网站凡科网免费建站
  • 如何制作自己的视频网站3步打造seo推广方案
  • 静安网站建设内容营销平台有哪些
  • 手机版网站设计案例营销软文怎么写
  • 价目表海报app制作站群seo技巧
  • 杭州市滨江区建设局网站深企在线
  • 网站 黑白推广方案格式模板范文