不确定写法的正确性
查看原帖
不确定写法的正确性
798592
xxy099楼主2023/9/28 09:42

奇怪的单调栈写法,希望大家帮忙hack一下 下面是代码

#include <iostream>
using namespace std;
int main(){
    int n;
    scanf("%d",&n);
    int a[n]={0};
    int stack[n]={0};
    int res[n]={0};
    int index=-1;
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
        while(index>=0 && a[i]>a[stack[index]]){
            res[stack[index]]=i+1;
            index--;
        }
        index++;
        stack[index]=i;
    }
    for(int i=0;i<n;i++){
        printf("%d ",res[i]);
    }
    return 0;
} 
2023/9/28 09:42
加载中...