跳转至

单调栈

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);

评论