[leetCode]11. 盛最多水的容器
題目
連結:https://leetcode-cn.com/problems/container-with-most-water
給你 n 個非負整數 a1,a2,…,an,每個數代表座標中的一個點 (i, ai) 。在座標內畫 n 條垂直線,垂直線 i 的兩個端點分別為 (i, ai) 和 (i, 0) 。找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。
說明:你不能傾斜容器。
輸入:[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
雙指標
思路: 使用左右指標分別指向容器兩遍的邊界,每次移動高度較小的指標,因為移動高度交大的指標不會是容器的盛水量變大。在指標移動過程中計算容量,儲存最大值。
class Solution {
public int maxArea(int[] height) {
int left = 0, right = height.length - 1;
int max = 0;
while (left < right) {
max = Math.max(max, Math.min(height[left], height[right]) * (right - left));
if (height[left] < height[right]) {
left++;
} else {
right--;
}
}
return max;
}
}
相關文章
- 【LeetCode】11. 盛最多水的容器LeetCode
- 11.盛最多水的容器
- 【LeetCode Hot 100】11. 盛最多水的容器LeetCode
- leetcode-11-盛最多水的容器LeetCode
- leetcode-盛最多水的容器(c++)LeetCodeC++
- LeetCodeHot100 283. 移動零 11. 盛最多水的容器 42. 接雨水 15. 三數之和LeetCode
- 讓我們一起啃演算法----盛最多水的容器演算法
- 資料結構與演算法---盛最多水的容器、接雨水資料結構演算法
- [LeetCode] Container With Most Water 裝最多水的容器LeetCodeAI
- 11_乘最多水的容器
- 動態規劃演算法——裝最多水的容器動態規劃演算法
- LeetCode 11. Container With Most WaterLeetCodeAI
- LeetCode - Medium - 11. Container With Most WaterLeetCodeAI
- Leetcode_455_分發餅乾_水題LeetCode
- LeetCode860. 檸檬水找零LeetCode
- Leetcode508. 出現次數最多的子樹元素和LeetCode
- LeetCode每日一題: 檸檬水找零(No.860)LeetCode每日一題
- 智慧水務系統:構建高效節水的城市水網
- 水的特性
- 11. webpack配置VueWebVue
- 11.《開工天物》
- 11.死鎖(deadlocks)
- 11. 串列埠通訊串列埠
- 11. 名稱空間
- 11.物件導向(3)物件
- 盛繪藝點獲得盛趣遊戲投資遊戲
- 水師提督速成指南:用Keras打造你的AI水軍KerasAI
- 11. Container With Most WaterAI
- 儀器儀表水銀,水銀溫度計,水銀體溫計,水銀鍍金,汞的價格,水銀回收處理,淘砂金專用水銀
- extjs下載地址--最多例項--最多doc文件JS
- 今日水
- 容器產品關鍵能力覆蓋最多,阿里雲打贏雲原生關鍵一戰!阿里
- 水水的證件-身份證、證件加水印小工具
- 11.日誌和事務@Transactional
- 【譯】11. Java反射——動態代理Java反射
- Bootstrap系列 -- 11. 基礎表單boot
- 11.強化加減按鈕
- 11.管理物件空間(筆記)物件筆記