![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单调栈
文章平均质量分 79
单调栈
Sophia_fez
干啥啥不行,可爱第一名.jpg
展开
-
leetcode *581. 最短无序连续子数组(2021.8.3)
【题目】581. 最短无序连续子数组给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 :输入的数组长度范围在...原创 2020-04-19 17:06:45 · 165 阅读 · 0 评论 -
leetcode **321. 拼接最大数(待研究)(2020.12.2)
【题目】**321. 拼接最大数给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要求从同一个数组中取出的数字保持其在原数组中的相对顺序。求满足该条件的最大数。结果返回一个表示该最大数的长度为 k 的数组。说明: 请尽可能地优化你算法的时间和空间复杂度。示例 1:输入:nums1 = [3, 4, 6, 5]nums2 = [9, 1, 2, 5, 8, 3]k =原创 2020-12-03 10:40:01 · 162 阅读 · 1 评论 -
leetcode *402. 移掉K位数字(待研究)(2020.11.15)
【题目】*402. 移掉K位数字给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = "1432219", k = 3输出: "1219"解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = "10200", k = 1输出: "200"解释: 移掉首位的 1 剩下的数字为 200.原创 2020-11-15 11:12:29 · 245 阅读 · 0 评论 -
leetcode *1504. 统计全 1 子矩形(周赛196)(单调栈)(待研究)
【题目】*1504. 统计全 1 子矩形给你一个只包含 0 和 1 的 rows * columns 矩阵 mat ,请你返回有多少个 子矩形 的元素全部都是 1 。示例 1:输入:mat = [[1,0,1], [1,1,0], [1,1,0]]输出:13解释:有 6 个 1x1 的矩形。有 2 个 1x2 的矩形。有 3 个 2x1 的矩形。有 1 个 2x2 的矩形。有 1 个 3x1 的矩形。矩形数目总共 = 6 + 2 + 3原创 2020-10-07 08:22:54 · 233 阅读 · 0 评论 -
leetcode 1475. 商品折扣后的最终价格(单调栈)
【题目】1475. 商品折扣后的最终价格给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > i 且 prices[j] <= prices[i] 的 最小下标 ,如果没有满足条件的 j ,你将没有任何折扣。请你返回一个数组,数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。示例 1:输入:prices = [8,4原创 2020-06-25 11:21:19 · 304 阅读 · 0 评论 -
leetcode *739. 每日温度(单调栈)(2020.6.11)
【题目】*739. 每日温度根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。【解题思路1】暴力法cla原创 2020-06-11 10:38:40 · 207 阅读 · 0 评论 -
leetcode **84. 柱状图中最大的矩形(单调栈题目表)(2020.5.30)
【题目】**84. 柱状图中最大的矩形给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:输入: [2,1,5,6,2,3]输出: 10【解题思路1】暴力法【解题思路2】栈遍历到下标4的时候,可以确定高度为6的宽度最多为1,然后也可以确定原创 2020-05-30 17:06:51 · 232 阅读 · 0 评论 -
leetcode **42. 接雨水(单调栈)(2020.4.4)
【题目】42. 接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6【解题思路1】按列...原创 2020-04-04 15:33:07 · 174 阅读 · 0 评论