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

建站知乎如何建一个自己的网站

建站知乎,如何建一个自己的网站,我做网站价格,天津网站建设首选津坤科技单调栈 问题描述 给定一个长度为 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/392506.html

相关文章:

  • 建设一个有影响力的网站百度山西授权代理
  • wordpress实现前台登录功能天津seo推广优化
  • 在线制作网站系统广州各区风险区域最新动态
  • 免费的logo网站网络优化大师app
  • 网站怎么放到服务器上灰色seo推广
  • 网站公司做网站品牌广告和效果广告的区别
  • 花店网站模板免费下载线下推广方案
  • 深圳专业营销网站制作免费搭建自己的网站
  • 简约大气网站欣赏化妆培训
  • 宽带固定ip的怎么做网站服务器长沙网站seo报价
  • 三维立体网站建设深圳网络推广渠道
  • 专业网站推广服务咨询百度识图在线使用一下
  • 网站建设客源在哪里找免费一键生成个人网站
  • 做批发比较好的网站有哪些企业文化设计
  • 网页版梦幻西游兑换码最新抖音关键词优化排名
  • emlog 迁移Wordpress苏州seo门户网
  • 泉州做妈祖雕像网站竞价推广返点开户
  • 做京东一样的网站百度url提交
  • 滨州做网站建设价格杭州网站外包
  • wordpress 菜单 宽度东莞seo推广机构帖子
  • 网站正在建设中模板免费下载万词优化
  • b2b电子商务网站调研报告1500字宁波seo服务快速推广
  • 提供小企业网站建设seo网站优化推广教程
  • 网站建设 网络推广网络营销的分类
  • 网站开发哪种专业软件编程培训学校排名
  • 网站建设公司上海站霸长清区seo网络优化软件
  • 网站检测报告那里做湖南网站营销推广
  • 众讯 网站建设网页模板
  • 东莞做网站的联系电seo网站诊断报告
  • 毕业设计做网站有哪些方面推广策略