11 乘最多水的容器

2021-09-28 12:39:00 字數 477 閱讀 4618

這道題思路簡單,兩重迴圈加遍歷即可,但是這麼搞效率著實低…

class solution 

}return max;}}

;

複雜度分析

時間複雜度:o(n ^ 2),計算所有 n(n−1)​ 種高度組合的面積。

空間複雜度:o(1),使用恆定的額外空間。

所以去學習點比較好的演算法。

從左右兩邊開始逐步計算。兩個數取低的再乘以橫座標的差。由於盛水取決於低的板子,如果高的板子移動,對於增大裝水量毫無意義,而低的板子移動可能變成乙個高的板子。所以就可以利用這個思路只需要訪問height一遍就可以。

class solution 

return max;}}

;

11 乘最多水的容器

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

Leetcode 11 乘最多水的容器

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

11 盛最多水的容器

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