求最大的矩形面積

2022-09-18 23:39:12 字數 760 閱讀 7426

第一次想的時候,想到了動態規劃,但是還有乙個複雜度更低的方法,就是採用棧的方式。第二種方法是看了厲害的人的部落格之後才理解的。它的思想就是從後往前遍歷,使用棧儲存當前遍歷到的最小值,這個值是不斷更改的,同時,沒遍歷一次,計算一次當前的面積。

在做leetcode的時候發現,從後往前遍歷的題目有很多,巧妙的使用棧的結構的方法也有很多,這就需要自己慢慢的在做題的過程中,慢慢的理解掌握了。

**比較醜陋,還望大家多提建議。

1

//動態規劃,但是超時了

2int largestrectanglearea(vector&heights)

15result.push_back(temp);

16for(i=1;i)

27result.push_back(temp);28}

29return result[heights.size()-1][heights.size()-1

];30 }

1

//使用棧的方法

2int largestrectanglearea(vector&heights)

19while(count-->0)22}

23}24 count=1;25

while(!st.empty())

32return

result;

33 }

最大矩形面積

題目描述 地面上從左到右併排緊挨著擺放多個矩形,已知這此矩形的底邊寬度都為1,高度不完全相等。求在這些矩形包括的範圍內能得到的面積最大的矩形,列印出該面積。所求矩形可以橫跨多個矩形,但不能超出原有矩形所確定的範圍。如 n 7,序列為2 1 4 5 1 3 3 h h h h h h h h 最大面積...

最大矩形面積

地面上從左到右併排緊挨著擺放多個矩形,已知這此矩形的底邊寬度都為1,高度不完全相等。求在這些矩形包括的範圍內能得到的面積最大的矩形,列印出該面積。所求矩形可以橫跨多個矩形,但不能超出原有矩形所確定的範圍。如 n 7,序列為2 1 4 5 1 3 3 h h h h h h h h 最大面積 8 輸入...

48 最大矩形面積

地面上從左到右併排緊挨著擺放多個矩形,已知這此矩形的底邊寬度都為1,高度不完全相等。求在這些矩形包括的範圍內能得到的面積最大的矩形,列印出該面積。所求矩形可以橫跨多個矩形,但不能超出原有矩形所確定的範圍。如 n 7,序列為2 1 4 5 1 3 3 h h h h h h h h 最大面積 8 輸入...