首页 > 其他分享 >栈——下一个较大值

栈——下一个较大值

时间:2023-04-01 16:44:07浏览次数:23  
标签:一个 res top 较大 st int 100010 include

 

 我的题解:

#include<stack>
#include<string.h>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
#include<stdio.h>
using namespace std;
int a[100010];
int res[100010];
int main()
{
    int t;
    cin>>t;
    int n;

    while(t--)
    {
        stack <int> st;
        cin>>n;
        for(int i=0; i<n; i++)
            //scanf("%d",&a[i]);
            cin>>a[i];

        for(int i=n-1; i>=0; i--)
        {
            while(!st.empty())
            {
                if(st.top()>a[i])
                {
                    res[i]=st.top();
                    st.push(a[i]);
                    break;
                }
                else st.pop();
            }

            if(st.empty())
            {
                res[i]=-1;
            }
            st.push(a[i]);
        }
        for(int i=0; i<n; i++){
            //cout<<a[i]<<"-->"<<res[i]<<endl; 这里使用cout<<endl;超时了,因为输入少的时候cout<<endl 和其他差不多,但是输出多的时候差别很大
             printf("%d-->%d",a[i],res[i]);
             cout<<'\n';
    }}
    return 0;
}

 

标签:一个,res,top,较大,st,int,100010,include
From: https://www.cnblogs.com/LHJ822/p/17278848.html

相关文章

  • Uniapp 图片上放另一个图片
    直接上代码.img1a{position:relative;width:100%;height:100%;}.video-open{margin-left:45%;margin-top:45%;position:absolute;z-index:9999;width:70rpx;height:......
  • HTML + javascript implement a draggable list 一个可以拖拽交换顺序的列表
    Reference:https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragover_event<body><styletype="text/css">.draggable{text-align:center;background:red;width:20px;......
  • [directx]一个allocation的旅行
    在directX的世界里面,会有一个叫做allocationd的东西,平日里面,在app层,看到的都是createresource之后,有一个handle的存在,他其实对应了一整块gpu上面的memory。首先,分配allocation,这个是在usermodecallOS的allocatecb去实现的,然后d3druntime会去callKMD的gfxdriver去实现。......
  • defineExporse vue3中一个由子组件导出数据,让父组件调用的方法。
    子组件<scriptsetup>import{ref,reactive}from'vue'constisFlag=ref(false)constdata=reactive({name:'tom',age:18})//把数据导出defineExpose({data,isFlag})&......
  • 【小白晋级大师】如何设计一个支持10万人用的ChatGPT对接系统
    不停地书写,方能不失在人海茫茫。1.前言之前给大家写了ChatGPT对接企业微信的教程,具体可看知乎链接:【奶奶看了都会】ChatGPT3.5接入企业微信,可连续对话文章结尾说了教程只能适用于小规模使用,网上能找到的其他ChatGPT对接钉钉、飞书、自定义网页等等教程,原理都是一样的,写个中......
  • 我的第一个项目(七):(解决问题)Vue中canvas无法绘制图片
    好家伙, 现在,我想要把我的飞机大战塞到我的主页里去,想办法把文件导入 然后,直接死在第一步,图片渲染都成问题 先用vue写一个测试文件来测试canvas的绘制<template><div><divref="stage"></div><button@click="drawsth()">添加</button><imgsrc......
  • 行业动态 | 第一个支持与 ChatGPT 进行面对面聊天的机器人女友(免费可聊)
    生成式AI急速发展GPT-4的上线、文心一言的发布、加上GPT-4植入Office全家桶,不少人感叹:我们每天醒来都被AI的快速发展所震惊,但是更多人感叹自己没有参与其中。国内可用!今天小A介绍一款新的机器人爱丽丝,这是一个免费的网页程序ChatD-ID——世界上第一个允许用户与数字人进行实时对......
  • 微信小程序之实现封装一个富文本编辑器 Editor
    前言富文本编辑器,可以对图片、文字进行编辑。编辑器导出内容支持带标签的html和纯文本的text,编辑器内部采用delta格式进行存储。通过setContents接口设置内容时,解析插入的html可能会由于一些非法标签导致解析错误,建议开发者在小程序内使用时通过delta进行插入。富文本......
  • 逍遥自在学C语言 | 第一个C语言程序 九层之台起于垒土
    一、人物简介第一位闪亮登场,有请今后会一直教我们C语言的老师——自在。第二位上场的是和我们一起学习的小白程序猿——逍遥。二、C语言简介C语言是一种高级语言,运行效率仅次于汇编,支持跨平台C语言是学习其他高级语言的基础,如C++、Java和Python三、编程环......
  • 一个80后通信打工人的职场感悟
    “究竟怎样做,才能在通信企业获得更快的晋升?”上面这个问题,小枣君在知乎上经常被问到。这个问题还有一个更通俗的版本:“我究竟怎样才能更快地当上领导?”这是一个有点功利但却非常现实的问题。现在房价这么高,职位晋升往往意味着收入增长,对年轻人来说,非常有吸引力。况且,拿破仑说过:“不......