单调栈
文章平均质量分 51
一种特别设计的栈结构
爱敲代码的Harrison
种一棵树最好的时间是十年前,其次是现在。
展开
-
单调栈结构练习——子数组最小值的累加和
题目给定一个数组arr,返回所有子数组最小值的累加和。package com.harrison.class14;/** * @author Harrison * @create 2022-03-27-15:06 * @motto 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。 */public class Code06_SumOfSubarrayMinimums { public static int sumSubarrayMins(int[] arr){ int[原创 2022-03-27 16:59:11 · 258 阅读 · 0 评论 -
单调栈结构练习——统计全1子矩形
题目给定一个二维数组matrix,其中的值不是0就是1,返回全部由1组成的子矩形数量。package com.harrison.class14;/** * @author Harrison * @create 2022-03-27-13:39 * @motto 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。 */// 测试链接:https://leetcode.com/problems/count-submatrices-with-all-onespublic class Code05原创 2022-03-27 14:02:20 · 484 阅读 · 0 评论 -
单调栈结构练习——最大子矩形
题目给定一个二维数组matrix,其中的值不是0就是1,返回全部由1组成的最大子矩形,内部有多少个1package com.harrison.class14;import java.util.Stack;/** * @author Harrison * @create 2022-03-27-10:48 * @motto 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。 */// 测试链接:https://leetcode.com/problems/maximal-rectangle/p原创 2022-03-27 10:59:40 · 425 阅读 · 0 评论 -
单调栈结构练习——直方图的最大长方形面积
题目给定一个非负数组arr,代表直方图,返回直方图的最大长方形面积。package com.harrison.class14;import java.util.Stack;/** * @author Harrison * @create 2022-03-27-10:10 * @motto 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。 */public class Code03_LargestRectangleArea1 { public static int largestR原创 2022-03-27 10:44:56 · 241 阅读 · 0 评论 -
单调栈结构练习——子数组累加和乘以子数组最小值中的最大值
题目给定一个只包含正数的数组arr,arr中任何一个子数组sub,一定都可以算出(sub累加和) * (sub中的最小值)是什么,那么所有子数组中,这个值最大是多少?package com.harrison.class14;import java.util.Stack;/** * @author Harrison * @create 2022-03-26-22:24 * @motto 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。 */public class Code02_AllTi原创 2022-03-26 22:52:31 · 617 阅读 · 0 评论 -
单调栈结构
单调栈是什么?一种特别设计的栈结构,为了解决如下的问题:给定一个可能含有重复值的数组arr,i位置的数一定存在如下两个信息arr[i] 的左侧离 i 最近并且小于(或者大于)arr[i]的数在哪?arr[i] 的右侧离 i 最近并且小于(或者大于)arr[i]的数在哪?如果想得到arr中所有位置的两个信息,怎么能让得到信息的过程尽量快。那么到底怎么设计呢?要求时间复杂度为O(N)package com.harrison.class14;import java.util.ArrayLi原创 2022-03-26 21:06:21 · 234 阅读 · 0 评论