iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 14
0
自我挑戰組

有志者,事竟成。系列 第 16

Day 16 LeetCode #11 Container With Most Water

題目描述

給予一串數列代表木板高度
他們之間的index差則為寬度
請在這之中選擇能夠擁有最大容積的兩塊木板
舉例:
輸入:[1,8,6,2,5,4,8,3,7]
https://s3-lc-upload.s3.amazonaws.com/uploads/2018/07/17/question_11.jpg
輸出: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。


上一篇
Day15 懺悔+LeetCode #9
下一篇
Day17 LeetCode #31#46#47 Permutation合集
系列文
有志者,事竟成。19

尚未有邦友留言

立即登入留言