直方图包含最大矩形
来源:互联网 发布:sql delete select语句 编辑:程序博客网 时间:2024/05/16 07:47
有一个直方图,用一个整数数组表示,其中每列的宽度为1,求所给直方图包含的最大矩形面积。比如,对于直方图[2,7,9,4],它所包含的最大矩形的面积为14(即[7,9]包涵的7x2的矩形)。
给定一个直方图A及它的总宽度n,请返回最大矩形面积。保证直方图宽度小于等于500。保证结果在int范围内。
测试样例:
[2,7,9,4,1],5
返回:14
这里要考虑的只有:是要高一些的呢?还是要长一些的呢?当然了,我们要的是面积最大的。所以先找到区域里最矮的乘上整个区域长度,然后把这个最矮的矩形左右两边分别进行如上操作,期间一直找寻最大面积~
import java.util.*;public class MaxInnerRec { public int countArea(int[] A, int n) { // write code here int s = 0; int e = n - 1; return Max_Area(A, s, e); } public int Max_Area(int[] A, int s, int e) { if(s==e) return A[s];if(s>e) return 0; int area = 0, area_t = 0; int m_index = Find_min(A, s, e); area = A[m_index] * (e-s+1); area_t = Max_Area(A, s, m_index-1); if(area_t>area) area = area_t; area_t = Max_Area(A, m_index+1, e); if(area_t>area) area = area_t; return area; } public int Find_min(int[] A, int s, int e) { int min = A[s], res = s, i = s+1; for(; i<=e; i++) { if(A[i]<min) { min = A[i]; res = i; } } return res; } }
0 0
- 直方图包含最大矩形
- 直方图最大面积矩形
- 直方图内最大矩形
- 直方图内最大矩形
- 直方图最大矩形覆盖
- 直方图内最大矩形
- 直方图最大矩形
- 直方图最大矩形面积
- 直方图内最大矩形
- 直方图内最大矩形
- 直方图内最大矩形
- 直方图中的最大矩形
- 直方图内最大矩形
- 直方图最大矩形问题
- CSP 直方图中的最大矩形
- LintCode 直方图最大矩形覆盖
- 寻找直方图中最大矩形
- lintcode:直方图最大矩形覆盖
- gradle 包装器
- COGS 728. [网络流24题] 最小路径覆盖问题
- for 对vector类型进行循环输出
- HRBUST 1789 通信道路(思维)
- ButterKnife源码研究一宏观
- 直方图包含最大矩形
- Java中this和super的用法总结
- p1273最大流(模板)
- effective javascript(五)——变量作用域(尽量少用全局变量,尽量使用局部变量)
- 文章标题
- 数学,矩阵,算法——图像处理 一切成功源自积累 linux jdk版本随时切换
- android 音频系统/声卡驱动 codec
- sdnu第一场选拔赛--Miller_Rabin算法判断是否为素数
- 【HTML】HTML语言的使用方式和详细说明___完整教程(总结)