用时126天,完成500题,平均4题/天,照这个速率,我还需要四个月完成1000题挑战。

单调栈模板

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

st维护了一个单调递减的堆栈,实质是移除不需要/或者是无意义的元素,在这道题的语义就是,如果一个数下标大于该数,且值小于该数,那么这个数必然不可能成为今后的下一个更大值,所以移除。

能够解决的问题:

  • 456. 132 模式 - 力扣(LeetCode)
  • 739. 每日温度 - 力扣(LeetCode)
  • 907. 子数组的最小值之和 - 力扣(LeetCode)
  • 1856. 子数组最小乘积的最大值 - 力扣(LeetCode)

365天挑战LeetCode1000题——Day 126 单调栈模板 500题纪念相关推荐

  1. *【牛客 - 318B】签到题(单调栈,水题)

    题干: 众所周知,IG是英雄联盟S8世界总决赛冠军,夺冠之夜,数亿人为之欢呼! 赛后某百分百胜率退役ADC选手的某表情包意外走红,某苟会长看到此表情包也想模仿. 于是有n个友爱的萌新决定每人都送会长一 ...

  2. 365天挑战LeetCode1000题——Day 124 单调队列模板

    单调队列模板 class MaxQueue {private:queue<int> origin;deque<int> dq; public:MaxQueue() {}int ...

  3. 刷题关键点总结-单调栈、单调队列

    单调栈,单调队列顾名思义,栈内或者队列内元素具有一致下降或者一致上升的特点. 选用单调栈或者队列的出发点: 使用单调栈或者单调队列一般具有三个出发点: 1.求栈或队列内某个元素左侧或者右侧第一个比它大 ...

  4. 【leetcode刷题笔记】单调栈

    典型例题:求左边第一个比当前元素小的数 (模板,弄懂) 代码: #include<iostream> using namespace std; #include<stack> ...

  5. 【SSL 2882】[POJ 3250]排队【单调栈模板】

    排队 Time Limit:10000MS Memory Limit:65536K Case Time Limit:1000MS Description n个人排成一条直线(一排),给出队伍中每个人的 ...

  6. 365天挑战LeetCode1000题——Day 260 800题

    时过但境还没迁,一晃眼过去了4个月,在同样的位置发了博客. 今天完成了第八百道题,然后距离我的365天千题计划,还剩下100天左右,每天再保持两题的刷题量,就能完成我一年前定下的目标了.这也再次证明了 ...

  7. 365天挑战LeetCode1000题——Day 014 每日一题 + 最长公共子序列

    文章目录 1. [我能赢吗](https://leetcode.cn/problems/can-i-win/) 1.1 记忆化搜索+DFS+位运算 2. [最长公共子序列](https://leetc ...

  8. 365天挑战LeetCode1000题——Day 012 每日一题

    文章目录 前言 1. [寻找右区间](https://leetcode.cn/problems/find-right-interval/) 1.1 二分查找 总结 前言 今天还是一题,但是重新学习了快 ...

  9. 365天挑战LeetCode1000题——Day 103 400题 检查二进制字符串字段 最大子序列交替和 最低票价 K 站中转内最便宜的航班

    400题,用时103天,平均3.88题/天,预计154天,也就是5个月后完成目标 1784. 检查二进制字符串字段 代码实现(模拟) class Solution {public:bool check ...

最新文章

  1. java operators_Java Basic Operators
  2. OpenCV源代码分析——SGBM
  3. 单片机 c语言 定义i o,【51单片机】普通I/O口模拟SPI口C语言程序
  4. 交换排序(冒泡、快速)
  5. Java程序员如何提升技能
  6. HiveSQL技术原理、优化[深度解析]
  7. 属性匹配工具_Route-policy的匹配工具If-match的使用简介
  8. 企业机房升温-谁之过?
  9. php禁止外部域名请求,php-阻止来自其他域的请求
  10. WMS系统多少钱?什么是WMS系统
  11. 【分布式WebSocket - 1】超详细!WebSocket协议详解
  12. android蜂巢效果、环形菜单、Kotlin影视应用、简约时钟、查看导出App、支付宝AR扫码效果等源码...
  13. 支持向量机原理与实现
  14. python获取中文字体点阵坐标_中文点阵字库的python自动生成程序
  15. dismiss ios pop效果_动画切换效果之push、pop、present、dismiss
  16. 参加西湖论剑2021
  17. Linux 文字雨特效
  18. 随机手机号码_微信绑定了手机号码怎么解绑
  19. 随机产生长度不少于6位密码
  20. 纯CSS3写的10个不同的酷炫图片遮罩层效果【转】

热门文章

  1. 前天在腾讯soso问问上别人问我raid问题?
  2. bestcoder 1002 列变位法解密(模拟)
  3. kettle-manager工具使用,这个是主要介绍平台部署和管理spoon的转换。
  4. Android 缺少SO库(只有armabi)的解决办法
  5. postgresql 表文件介绍
  6. HuggingFace Transformers框架使用教程
  7. Flutter 小技巧之 3.7 性能优化background isolate
  8. 冲大厂:Java并发六十问,快来看看你会多少道
  9. 工业级洗地机器人_能洗地的机器人 ILIFE智意新品W400亮相AWE
  10. C++入门——演讲比赛流程管理系统