题意
给一个序列,求其中最大的j-i, 满足i < j且num[i] <= nums[j]
方法
单调栈
代码
class Solution {
public:
int maxWidthRamp(vector<int>& A) {
stack<int> s;
int n=A.size();
int len=0;
if(n==0){return 0;}
s.push(0);
for(int i=1;i<n;i++){
if(A[s.top()]>A[i]){
s.push(i);
}
}
for(int i=n-1;i>0;i--){
while(!s.empty()&&A[s.top()]<=A[i]){
len=max(len,i-s.top());
s.pop();
}
if(s.empty()){return len;}
}
return len;
}
};
标签:int,Ramp,Maximum,Width,LeetCode962,push
From: https://www.cnblogs.com/Figure_at_a_Window/p/16977249.html