41.哀家要长脑子了!

1.830. 单调栈 - AcWing题库

模板

// 找出每个数左边离它最近的比它大/小的数
int tt = 0;
for(int i = 0; i <= n; i++){
    while(tt && check(stk[tt] ,i)) tt--;
    stk[++tt] = i;
}
#include<iostream>
using namespace std;

const int N = 1e5+10;
int stk[N], tt;

int main(){
    int n;
    cin >> n;
    while(n--){
        int x; 
        cin >> x;
        while(tt && stk[tt] >= x) tt--;
        if(!tt) cout << "-1" << " ";
        else cout << stk[tt] << " ";
        stk[++tt] = x;
    } 
    return 0;
}

只要不满足题目中的条件的时候就弹出栈顶元素 (tt--)

保证这个栈中的一个单调性

相关推荐

  1. LeetCode 0521.最特殊序列 Ⅰ:脑筋急转弯

    2024-07-17 23:34:02       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 23:34:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 23:34:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 23:34:02       57 阅读
  4. Python语言-面向对象

    2024-07-17 23:34:02       68 阅读

热门阅读

  1. 生成式 AI 的发展方向,是 Chat 还是 Agent?

    2024-07-17 23:34:02       17 阅读
  2. 面试题 HashMap中key的存储索引是怎么计算的

    2024-07-17 23:34:02       21 阅读
  3. 深度学习落地实战:人流量监测

    2024-07-17 23:34:02       20 阅读
  4. 【Go系列】Go的内存分配

    2024-07-17 23:34:02       22 阅读
  5. QTablewidget开发详解

    2024-07-17 23:34:02       22 阅读
  6. springboot防止重复提交的方案有哪些

    2024-07-17 23:34:02       18 阅读
  7. Bigdata-Docker构建大数据学习开发环境

    2024-07-17 23:34:02       18 阅读