給予一串數列代表木板高度
他們之間的index差則為寬度
請在這之中選擇能夠擁有最大容積的兩塊木板
舉例:
輸入:[1,8,6,2,5,4,8,3,7]
輸出:49
算出每一個,大於則覆蓋。
class Solution {
public:
int maxArea(vector<int>& height) {
int container=0;
for(int x=1;x<height.size();x++)
for(int from=0;from<height.size()-x;from++)
{
int to=from+x;
int y=height[from]>height[to]?height[to]:height[from];
container=(x*y)>container?(x*y):container;
}
return container;
}
};
實測親過,min()、max()因為是call function所以速度太慢,反而會造成TLE的問題。
但實際上若是直接在程式中判斷,卻能夠立刻Accepted。