leetcode.11. 盛最多水的容器

    xiaoxiao2023-10-15  25

    public class Solution { public int maxArea(int[] height) { int maxarea = 0, l = 0, r = height.length - 1; while (l < r) { maxarea = Math.max(maxarea, Math.min(height[l], height[r]) * (r - l)); if (height[l] < height[r]) l++; else r--; } return maxarea; } }

      官方双指针法如上,观毕。写一点自己理解。

    双指针法是从,从最大宽度开始,不断缩减,以宽度的减少试图获取短板的提高从而试探出更大的总面积,直到所有的垂直直线均被检测过一次为止,也就是宽度已经不能再减少了。此时存储在缓存最大面积里的值便是最大面积。

    最新回复(0)