给定一组非负整数组成的数组h,代表一组柱状图的高度,其中每个柱子的宽度都为1。 在这组柱状图中找到能组成的最大矩形的面积(如图所示)。 入参h为一个整型数组,代表每个柱子的高度,返回面积的值。
输入包括两行,第一行包含一个整数n(1 ≤ n ≤ 10000) 第二行包括n个整数,表示h数组中的每个值,h_i(1 ≤ h_i ≤ 1,000,000)
输出一个整数,表示最大的矩阵面积。
6 2 1 5 6 2 3
10
借鉴前面的分治法: var n = readline(); var line = readline().split(' '); function largestarea(line){ var len = line.length; var index = line.indexOf(Math.min.apply(null,line).toString()); var value1 = line[index] * len; if(index!=0){ var value2 = largestarea(line.slice(0, index)); }else{ var value2 = 0; } if(index!= len-1){ var value3 = largestarea(line.slice(index+1)); }else{ var value3=0; } return Math.max(value1,value2,value3); } print(largestarea(line))