单调栈
视频精讲:单调栈
| 题目 | 代码 | 备注 |
|---|---|---|
| 739. 每日温度 | 代码 | 两种写法 |
| 42. 接雨水 | 代码 | |
| 496. 下一个更大元素 I | 代码 | *课后作业 |
| 503. 下一个更大元素 II | 代码 | *课后作业 |
| 901. 股票价格跨度 | 代码 | *课后作业 |
| 1019. 链表中的下一个更大节点 | 代码 | *课后作业 |
| 1944. 队列中可以看到的人数 | 代码 | *课后作业 |
| 84. 柱状图中最大的矩形 | 代码 | *课后作业 |
| 1793. 好子数组的最大分数 | 代码 | *课后作业 |
| 85. 最大矩形 | 代码 | *课后作业 |
题意与示例
739. 每日温度
题目链接:对每天的温度,计算还要等待几天才会出现更高温度,不会出现则记为 0。
示例:输入
temperatures = [73,74,75,71,69,72,76,73],输出[1,1,4,2,1,1,0,0]。
42. 接雨水
题目链接:给定一组宽度为 1 的柱子高度,计算下雨后能够接住的雨水总量。
示例:输入
height = [0,1,0,2,1,0,1,3,2,1,2,1],输出6。
496. 下一个更大元素 I
题目链接:对 nums1 中每个数,找出它在 nums2 中右侧第一个更大的值。
示例:输入
nums1 = [4,1,2], nums2 = [1,3,4,2],输出[-1,3,-1]。
503. 下一个更大元素 II
题目链接:把数组视为循环数组,求每个元素后方第一个更大的值。
示例:输入
nums = [1,2,1],输出[2,-1,2]。
901. 股票价格跨度
题目链接:逐日接收股价,返回包含当天且连续不高于当天价格的最大天数。
示例:依次调用
next(100), next(80), next(60), next(70), next(60), next(75), next(85),输出1,1,1,2,1,4,6。
1019. 链表中的下一个更大节点
题目链接:对链表中每个节点,返回它右侧第一个更大节点的值,不存在则为 0。
示例:输入
head = [2,1,5],输出[5,5,0]。
1944. 队列中可以看到的人数
题目链接:对队列中每个人,统计他向右能够看到的人数。
示例:输入
heights = [10,6,8,5,11,9],输出[3,1,2,1,1,0]。
84. 柱状图中最大的矩形
题目链接:求柱状图中由连续柱子构成的最大矩形面积。
示例:输入
heights = [2,1,5,6,2,3],输出10。
1793. 好子数组的最大分数
题目链接:在必须包含下标 k 的子数组中,最大化“最小元素乘以长度”的分数。
示例:输入
nums = [1,4,3,7,4,5], k = 3,输出15。
85. 最大矩形
题目链接:在二进制矩阵中找出只包含 1 的最大矩形面积。
示例:输入
matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]],输出6。
评论