找出面積最大的矩形
阿新 • • 發佈:2019-01-12
輸入 .com color app style tps pen 矩形 span
描述
在一個平面圖上,有多個寬度固定為1,高度不同的矩形並列排著,在這些矩形所組成的圖形中,能夠切割出的最大矩形的面積是多少? 數據範圍:0 < 高度 < 100
舉例:高度為2,3,2的三個矩形所組成的圖形,能夠切割出的最大的矩形面積為6。見下圖。
輸入
一組正整數,分別用逗號隔開,表示每個矩形的高度
輸出
一個整數,表示組合成的最大的矩形面積
輸入樣例
2,3,2 5,6,7,8,3
復制樣例
輸出樣例
6 20
def solution(line): nums=list(map(int,line.split(‘,‘)))def getMaxArr(arr,number): s=[] if len(arr)==0: return 0 for i in range(len(arr)): if (i==0 or arr[i-1]<number) and arr[i]>=number: s.append([i,0]) if i==len(arr)-1 or (arr[i-1]>=number and arr[i]<number):if len(s)>0: if i==len(arr)-1 and arr[i]>=number: s[-1][1]=i+1 else: s[-1][1]=i are=0 for i in s: are=max(are,max(len(arr[i[0]:i[1]])*number,getMaxArr(arr[i[0]:i[1]],number+1)))return are return getMaxArr(nums,1)
找出面積最大的矩形