![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode栈
文章平均质量分 52
overlordmax
这个作者很懒,什么都没留下…
展开
-
394. 字符串解码
1.题目描述给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。示例 1:示例 2:示例 3:示例 4:2.思路由于括号内嵌套括号,因此原创 2021-02-09 15:50:02 · 72 阅读 · 0 评论 -
85. 最大矩形
给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例 1:示例 2:示例 3:示例 4:示例 5:2.思路1.如果只有一行,把每个格子中的数据看成是高度,那么就是 [84. 柱状图中最大的矩形]2.如果只有两行,我想得到第二行中所有数据的高度第二行中数据是 1 ,如果上面第一行也是 1 ,高度就是 2 ,否则是 1第二行中数据是 0 ,那么不管第一行是什么,高度都是 03.因此,遍历每一行时,都能够得到原创 2021-01-02 18:57:54 · 84 阅读 · 0 评论 -
1047. 删除字符串中的所有相邻重复项
1.题目描述给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:提示:1.1 <= S.length <= 200002.S 仅由小写英文字母组成。2.思路遍历字符串,把字符顺序放到一个栈中,如果和栈顶元素相同的话栈就弹出,这样最后栈里剩下的元素都是相邻不相同的元素了。3.代码class Solution {public:原创 2020-09-23 16:58:40 · 70 阅读 · 0 评论 -
150. 逆波兰表达式求值
根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:1.整数除法只保留整数部分。2.给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:示例 2:示例 3:逆波兰表达式:逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。1.平常使用的算式则是一种中缀表达式,如 ( 1 + 2 ) * ( 3 + 4 ) 。2.该算式的逆波兰表达式写法为 ( ( 1原创 2020-09-23 16:44:14 · 524 阅读 · 0 评论 -
84. 柱状图中最大的矩形
1.题目描述给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:2.思路(单调栈)1.首先我们枚举某一根柱子 ii 作为高 h=heights[i]h = \textit{heights}[i]h=heights[i];2.随后我们需要进行向左右两边原创 2020-09-04 11:35:34 · 112 阅读 · 0 评论 -
503. 下一个更大元素 II
1.题目描述给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。示例 1:注意: 输入数组的长度不会超过 10000。2.思路(单调栈)我们首先把第一个元素 A[1] 放入栈,随后对于第二个元素 A[2],如果 A[2] > A[1],那么我们就找到了 A[1] 的下一个更大元素 A[2],此时就可以原创 2020-07-04 18:26:19 · 155 阅读 · 0 评论 -
找出数组中每个数右边第一个比它大的元素
找出数组中每个数右边第一个比它大的元素1.题目描述题目:给定一个整型数组,数组元素随机无序的,要求打印出所有元素右边第一个大于该元素的值。如数组A=[1,5,3,6,4,8,9,10] 输出[5, 6, 6, 8, 8, 9, 10, -1]如数组A=[8, 2, 5, 4, 3, 9, 7, 2, 5] 输出[9, 5, 9, 9, 9, -1, -1, 5, -1]2.思路(单调栈)...原创 2020-03-10 12:46:37 · 2462 阅读 · 0 评论 -
739. 每日温度
739. 每日温度1.题目描述根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [...原创 2020-03-10 13:03:39 · 199 阅读 · 0 评论