largest-rectangle-in-histogram
Posted strive-19970713
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了largest-rectangle-in-histogram相关的知识,希望对你有一定的参考价值。
/**
* 给出n个数字,代表直方图的条高,直方图每一条的宽度为1,请计算直方图中最大矩形的面积
*
* 上图是每条宽度为1, 高度 =[2,1,5,6,2,3].的直方图
*
* 图中的阴影部分是该直方图中面积最大的矩形,面积为10个单位
* 例如:
* 给出的高度 =[2,1,5,6,2,3],
* 返回10.
*/
/** * 给出n个数字,代表直方图的条高,直方图每一条的宽度为1,请计算直方图中最大矩形的面积 * * 上图是每条宽度为1, 高度 =[2,1,5,6,2,3].的直方图 * * 图中的阴影部分是该直方图中面积最大的矩形,面积为10个单位 * 例如: * 给出的高度 =[2,1,5,6,2,3], * 返回10. */ public class Main59 public static void main(String[] args) int[] height = 0,9; System.out.println(Main59.largestRectangleArea(height)); public static int largestRectangleArea(int[] height) if (height.length <= 0) return 0; int maxArea = 0; for (int i=0;i<height.length;i++) int minLen = height[i]; // maxArea = height[i]*1; for (int j=i;j<height.length;j++) int area = 0; if (minLen > height[j]) area = height[j] * (j-i+1); minLen = height[j]; else area = minLen* (j-i+1); if (area > maxArea) maxArea = area; return maxArea;
以上是关于largest-rectangle-in-histogram的主要内容,如果未能解决你的问题,请参考以下文章