弹出时宽度由谁决定
第 1 步:数字是柱子的高度 第 2 步:弹出高 2:宽 1,面积 2 第 3 步:5 比栈顶高:进栈 第 4 步:6 比栈顶高:进栈 第 5 步:弹出高 6:宽 1,面积 6 第 6 步:弹出高 5:宽 2,面积 10 第 7 步:弹出高
最大矩形面积
运行下面这段程序: 本节模型:largest_rect 用单调栈求柱状图最大矩形,末尾放一根高 0 的哨兵柱子。 #include <algorithm> #include <deque> #include <
全等高的柱子
运行下面这段程序: 本节模型:largest_rect 用单调栈求柱状图最大矩形,末尾放一根高 0 的哨兵柱子。 #include <algorithm> #include <deque> #include <
补全:矩形的弹栈条件
补全 largest_rect:遇到不高于栈顶的柱子,就把栈顶弹出来结算。补全后输出最大面积。 本节模型:largest_rect 用单调栈求柱状图最大矩形,末尾放一根高 0 的哨兵柱子。 (本题用 g++ -std=c++17 -O0 编
补全:矩形的宽度
补全 largest_rect:栈不空时,宽度是 i - st.back() - 1。补全后输出最大面积。 本节模型:largest_rect 用单调栈求柱状图最大矩形,末尾放一根高 0 的哨兵柱子。 (本题用 g++ -std=c++17
补全:末尾的哨兵
补全 largest_rect:末尾放一根高 0 的哨兵柱子,让栈里剩下的柱子都被结算。补全后输出最大面积。 本节模型:largest_rect 用单调栈求柱状图最大矩形,末尾放一根高 0 的哨兵柱子。 (本题用 g++ -std=c++1
补全:更新最大面积
补全 largest_rect:每算出一个面积都要和历史最好比一比。补全后输出最大面积。 本节模型:largest_rect 用单调栈求柱状图最大矩形,末尾放一根高 0 的哨兵柱子。 (本题用 g++ -std=c++17 -O0 编译。)
几天后更暖选什么
「每天往后第几天温度会更高」这类最近更值问题,选【0】。 综合:按题目选单调栈(最近更值)还是单调队列(滑窗最值)。
定长窗口最值选什么
第 1 步:窗口长 3,一格一格往右滑 第 2 步:第 1 个窗口:最大的亮起 第 3 步:第 2 个窗口:最大的亮起 第 4 步:第 3 个窗口:最大的亮起 第 5 步:第 4 个窗口:最大的亮起 第 6 步:每个窗口都重扫一遍就慢了 1
多少个数有更大的
运行下面这段程序: 综合:按题目选单调栈(最近更值)还是单调队列(滑窗最值)。 #include <algorithm> #include <deque> #include <iostream> #inc