日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

6. Leetcode 11. 盛最多水的容器 (数组-双向双指针)

發布時間:2025/4/5 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 6. 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] 輸出: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思路:在每一個狀態下,無論長板或短板收窄 11 格,都會導致水槽 底邊寬度 ?1: 若向內移動短板,水槽的短板 min(h[i],h[j]) 可能變大,因此水槽面積 S(i,j) 可能增大。 若向內移動長板,水槽的短板 min(h[i],h[j]) 不變或變小,下個水槽的面積一定小于當前水槽面積class Solution:def maxArea(self, height: List[int]) -> int:i, j, res = 0, len(height) - 1, 0while i < j:if height[i] < height[j]:res = max(res, height[i] * (j-i))i += 1else:res = max(res, height[j] * (j-i))j -= 1return res

總結

以上是生活随笔為你收集整理的6. Leetcode 11. 盛最多水的容器 (数组-双向双指针)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。