【每日一题】LeetCode 11. 盛最多水的容器 TypeScript
给定一个长度为n的整数数组height。有n条垂线第i条线的两个端点是(i, 0)和(i, height[i])。找出其中的两条线使得它们与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首先给大家演示一下暴力解法不推荐超时核心思想是从下标0开始遍历计算010203分别计算出面积取最大值。function maxArea(height: number[]): number { let area:number 0 for(let i0;iheight.length-1;i){ for(let j i1;jheight.length;j){ const temp (j-i)*Math.min(height[i],height[j]) area Math.max(temp,area) } } return area };喜提当我掏出豆包时恰逢高考OKFine~还记得我之前说的力扣官方题解吗最后在我的不懈努力下终于拿下~ 它有名字双指针贪心算法function maxArea(height: number[]): number { let left0 let right height.length-1 let area 0 while(leftright){ area Math.max(area,(right-left)*Math.min(height[left],height[right])) if(height[left]height[right]){ left }else{ right-- } } return area };共勉祝愿各位高考考生旗开得胜