LeetCode_11.盛最多水的容器
阿新 • • 發佈:2020-12-19
給你 n
個非負整數 a1,a2,...,a
n
,每個數代表座標中的一個點(i,ai)
。在座標內畫 n
條垂直線,垂直線 i
的兩個端點分別為(i,ai)
和 (i, 0)
。找出其中的兩條線,使得它們與x
軸共同構成的容器可以容納最多的水。
說明:你不能傾斜容器。
示例 1:
輸入:[1,8,6,2,5,4,8,3,7] 輸出:49 解釋:圖中垂直線代表輸入陣列 [1,8,6,2,5,4,8,3,7]。在此情況下,容器能夠容納水(表示為藍色部分)的最大值為49。
示例 2:
輸入:height = [1,1] 輸出:1
示例 3:
輸入:height = [4,3,2,1,4] 輸出:16
示例 4:
輸入:height = [1,2,1] 輸出:2
提示:
n = height.length
2 <= n <= 3 * 104
0 <= height[i] <= 3 * 104
C#程式碼
public class Solution { public int MaxArea(int[] height) { int max = 0; for (int i = 0; i < height.Length; i++) { for (int j = i + 1; j < height.Length; j++) { int val = (j - i) * Math.Min(height[i], height[j]); if (val > max) { max = val; } } } return max; } }