【题目】宽度都为1,输入一组整型数组代表柱状图的高度,求上图柱状图中最大的面积。(可以分割)
【参考】http://www.xuebuyuan.com/2000142.html
package com.oj.exe1;
import java.util.Scanner;
public class Exe10 {
public static int largestRectangleArea(int[] height) {
int max = 0;
int len = height.length;
for(int i=0; i<len; i++){
int minHeight = height[i];
for(int j=i; j<len; j++){
minHeight = Math.min(minHeight, height[j]);
max = Math.max(max, (j-i+1)*minHeight);
}
}
return max;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String[] nums=sc.nextLine().split("\\s+");
int[] heights=new int[nums.length];
for(int i=0;i<nums.length;i++){
heights[i]=Integer.parseInt(nums[i]);
}
System.out.print(largestRectangleArea(heights));
}
sc.close();
}
}