力扣 503. 下一个更大元素 II 单调栈 序列化环
发布日期:2021-11-05 06:59:33 浏览次数:14 分类:技术文章

本文共 642 字,大约阅读时间需要 2 分钟。

在这里插入图片描述
思路:单调栈模板题,只不过变成了环形数组。序列化环其实很简单,比如 1 、 2 、 3 1、2、3 123化环就是 1 、 2 、 3 、 1 、 2 1、2、3、1、2 12312,把序列的前 n − 1 n-1 n1个元素放到尾端即可。

class Solution {
public: vector
nextGreaterElements(vector
& nums) {
int siz=nums.size(); vector
ans(siz,-1); if(!siz) return ans; int n=2*siz-1; stack
s; for(int i=0;i
=siz?i-siz:i; while(!s.empty()&&nums[idx]>nums[tmp=s.top()]){
ans[tmp>=siz?tmp-siz:tmp]=nums[idx]; s.pop(); } s.push(idx); } return ans; }};

转载地址:https://blog.csdn.net/xiji333/article/details/107970398 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:力扣 1190. 反转每对括号间的子串 栈
下一篇:力扣 946. 验证栈序列 栈

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月30日 09时45分18秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章