11 盛最多水的容器

2021-10-05 04:52:26 字數 601 閱讀 3218

暴力窮舉

1、雙指標法

疑問 1:它選出的結果一定是面積最大的嗎?

比如下面這張圖,如果j=8的這個位置,可以發現i=0,j<8圍成的柱子都比,i=0,j=8圍成的面積小。其實類似窮舉過所有i=0柱子的情況了。所以需要將矮柱子i=0移動。拋棄i=0這個柱子

疑問 2:總感覺它沒有窮舉所有的可能,會漏掉一些,那最大值會不會剛好被漏掉了呢?

沒有漏掉情況。因為我們已經拋棄當前的矮柱子了。矮柱子之前已經比較過了。其實也是類似窮舉了所有的情況

class solution 

int i = 0;

int j = height.size()-1;

int max_area = 0; // 記錄最大的面結

while(i < j) else

}return max_area;}};

11 盛最多水的容器

一 題意 給定 n 個正整數 a1,a2,an,其中每個點的座標用 i,ai 表示。畫 n 條直線,使得線 i 的兩個端點處於 i,ai 和 i,0 處。請找出其中的兩條直線,使得他們與 x 軸形成的容器能夠裝最多的水。注意 你不能傾斜容器,n 至少是2。二 分析和解答 1 顯然是求x軸的距離乘以較...

11 盛最多水的容器

給定 n 個非負整數 a1,a2,an,每個數代表座標中的乙個點 i,ai 在座標內畫 n 條垂直線,垂直線 i 的兩個端點分別為 i,ai 和 i,0 找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。說明 你不能傾斜容器,且 n 的值至少為 2。圖中垂直線代表輸入陣列 1,8,...

11 盛最多水的容器

給定 n 個非負整數 a1,a2,an,每個數代表座標中的乙個點 i,ai 在座標內畫 n 條垂直線,垂直線 i 的兩個端點分別為 i,ai 和 i,0 找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。說明 你不能傾斜容器,且 n 的值至少為 2。圖中垂直線代表輸入陣列 1,8,...