单调栈
int n = nums.size();
vector<int> res;
for (int i = 0; i < n; i++){
while( !res.empty() && n - i + res.size() > k && res.back() > nums[i]){
res.pop_back();
}
res.push_back(nums[i]);
}
res.resize(k);
int n = nums.size();
vector<int> res;
for (int i = 0; i < n; i++){
while( !res.empty() && n - i + res.size() > k && res.back() > nums[i]){
res.pop_back();
}
res.push_back(nums[i]);
}
res.resize(k);
评论