寻找直方图中面积最大的矩形[英雄会]
贪玩的老鼠 2013-07-02 10:18:17 #include <stdio.h>
int MaxSum(const int* a,int left,int right)
{
int maxSum;
int k,s,i;
if (left==right) return a[left];
if (left>right) return 0;
maxSum=0;
k=a[left];
s=0;
for(i=left;i<=right;i++)
{
if (k>a[i]) k=a[i];
s=k*(i-left+1);
if (s>maxSum) maxSum=s;
s=MaxSum(a,i+1,right);
if (s>maxSum) maxSum=s;
}
return maxSum;
}
int largestRectangleArea(const int *height,int n) {
return MaxSum(height,0,n-1);
}
//start 提示:自动阅卷起始唯一标识,请勿删除或增加。
int main()
{
//
return 0;
}